C# winform 在图片上实现类似地图标记的效果

winform 窗口上展示一张图片,在图片上通过鼠标点击,可以实现图片对某一点进行标记,标记后可以实现图片缩放,应该怎么做啊

不是要在地图上实现这种效果,是在图片上实现,如果点击标记后,标记不清除会一直保存,直到清除标记再消失,第二次打开软件,如果标记过了,那么会一直显示标记,

1.首先实现一个“标记”的用户控件。
2.图片以fill方式填充在panel中,点击图片时记录当前鼠标位置,并将位置信息写入数据库,同时在panel中添加用户控件
3.在图片初始化时按照位置信息,将用户控件添加到图片所在的panel中

现在重新整理一下思路:

  1. 通过按钮打开一张图片,图片可以根据鼠标滚轮实现缩放
  2. 左侧有一排图标,鼠标左键点击图标,可对图标进行复制,鼠标右键点击在图片上,图标放置到图片上,记录此时鼠标的位置,并生成一个提示信息输入,输入信息后保存
  3. 图片的缩放和图标缩放同步由鼠标滚轮实现,图片和图标的相对位置不变
  4. 在放置好图标后,可单击图标对图标再次移动,右键放置后,更新图标在图片上的相对位置坐标
  5. 可通过按键,单击按键后清除所有图标
  6. 可选择背景图片
  7. 窗体在关闭后打开,显示图片,如果再图片上设置了图标,则图标随图片一同打开
  8. 当鼠标滑过图标时,会有气泡提示信息,鼠标离开后,气泡信息消失
  9. 图标拖放和气泡提示信息更改有一个按键,点击这个按键后这些信息可以更改
    @__爱莫能助 @flybox0384 两位老师再看一下,我这样说的够清楚了吧?

其实是要实现类似地图标记的效果,比如标记点可以随着地图进行缩放,如果鼠标略过可以对标记点上显示文字信息,如果不想要标记了可以选择全部删除或者单个删除

防止沉帖自己回帖

我在网上搜索了好几天了,收集到的信息是这样的

  1. 可以用GDI+
  2. 可以用OPENCV
  3. 可以用QT

防止沉帖,继续提问

查了这么多天,才发现原来我要的功能叫做C#制作组态软件

一天一个回复,自己慢慢积累