关于MFC框架下,GDI+绘制,矢量图形的放缩以及移动实现(支持放缩后编辑图形)

toD2 2015-09-09 11:18:41
1.对于放缩如果用缩GDI+画布的方法,效果是不是不好?
2.还是需要以读取shp文件的方式,转换每一个点,再绘制?
3.关于移动,是直接移动视口好,还是用坐标转换?
4.在逻辑坐标下,是否好实现,还是要自己定义一套坐标?
...全文
430 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
dustpg 2015-09-09
  • 打赏
  • 举报
回复
与其用GDI+不如用D2D, D2D绘制矢量图很不错,还支持硬件加速, GDI+不支持硬件加速 还被打上了"Deprecated or legacy APIs", WinXP占有率足够低了, Win7是老大了.
worldy 2015-09-09
  • 打赏
  • 举报
回复
鼠标点,你可以找出原图的对应点 根据比例,你可以知道目标图的范围及左上角位置 从左上角开始根据比例值,你可以绘制出放大后的图
toD2 2015-09-09
  • 打赏
  • 举报
回复
引用 2 楼 worldy 的回复:
1.对于放缩如果用缩GDI+画布的方法,效果是不是不好?//直接放大效果很差 2.还是需要以读取shp文件的方式,转换每一个点,再绘制?//应该以新的比例按源文件重新绘制 3.关于移动,是直接移动视口好,还是用坐标转换?//改变原点重新绘制,比较简单 4.在逻辑坐标下,是否好实现,还是要自己定义一套坐标?//好实现,你要重新定义坐标系统也可以
类似于CorelDraw的滚动滚轮以鼠标为中心放大,你觉得是怎么实现的,能说说大致思路吗
toD2 2015-09-09
  • 打赏
  • 举报
回复
引用 2 楼 worldy 的回复:
1.对于放缩如果用缩GDI+画布的方法,效果是不是不好?//直接放大效果很差 2.还是需要以读取shp文件的方式,转换每一个点,再绘制?//应该以新的比例按源文件重新绘制 3.关于移动,是直接移动视口好,还是用坐标转换?//改变原点重新绘制,比较简单 4.在逻辑坐标下,是否好实现,还是要自己定义一套坐标?//好实现,你要重新定义坐标系统也可以
就是说我实现移动的时候就是将每一个点的坐标减去一个值来改变原点吗?用比例重新绘制,使用矩阵变换还是啥啊?
toD2 2015-09-09
  • 打赏
  • 举报
回复
引用 1 楼 dustpg 的回复:
与其用GDI+不如用D2D, D2D绘制矢量图很不错,还支持硬件加速, GDI+不支持硬件加速 还被打上了"Deprecated or legacy APIs", WinXP占有率足够低了, Win7是老大了.
额,其实用agg,也不错,但是没那个必要,不绘制大数据量矢量
worldy 2015-09-09
  • 打赏
  • 举报
回复
1.对于放缩如果用缩GDI+画布的方法,效果是不是不好?//直接放大效果很差 2.还是需要以读取shp文件的方式,转换每一个点,再绘制?//应该以新的比例按源文件重新绘制 3.关于移动,是直接移动视口好,还是用坐标转换?//改变原点重新绘制,比较简单 4.在逻辑坐标下,是否好实现,还是要自己定义一套坐标?//好实现,你要重新定义坐标系统也可以

19,469

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 图形处理/算法
社区管理员
  • 图形处理/算法社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧