用GDI+画1000个点连线,图像很闪,改 GDI则没有问题,但精度不够

licitykity 2014-02-14 02:05:20
用GDI+画1000个点连线(循环1000次),图像很闪,改 GDI则没有问题,但精度不够

请问:用 directdraw 将1000个点连线,会不会解决这个图像闪的问题?
...全文
273 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
demystify 2014-03-19
  • 打赏
  • 举报
回复
可以使用GDI+的路径绘图,先将图形绘制在路径中,然后在FillPath。 另外,最好不要使用循环,GDI+中有自带的绘图函数能直接实现。
KerneIX 2014-03-18
  • 打赏
  • 举报
回复
用双缓冲, 先在内存DC中画出来, 再贴到窗口上.....
allenhiman 2014-03-17
  • 打赏
  • 举报
回复
GDI+的确没有GDI效率高 如果你不是测试 是实际需求的话 1000个点的连线 适合用函数 DrawPolygon();或者 DrawPath();
向立天 2014-03-17
  • 打赏
  • 举报
回复
您好 我是本版版主 此帖已多日无人关注 请您及时结帖 如您认为问题没有解决可按无满意结帖处理 另外本版设置了疑难问题汇总帖 并已在版面置顶 相关规定其帖子中有说明 您可以根据规定提交您帖子的链接 如您目前不想结帖只需回帖说明 我们会删除此结帖通知 见此回复三日内无回应 我们将强制结帖 相关规定详见界面界面版关于版主结帖工作的具体办法
xiaohuh421 2014-02-17
  • 打赏
  • 举报
回复
引用 5 楼 licitykity 的回复:
不是贴图的时候才可以使用双缓冲吗?一个一个点连成直线可以双缓冲吗?
不管是贴图还是画什么东西, 都是可以双缓冲的.
worldy 2014-02-17
  • 打赏
  • 举报
回复
引用 2 楼 licitykity 的回复:
[quote=引用 1 楼 accessysq 的回复:] gdi,gdi+只是画图,跟精度有啥关系。
========================================= gDI的Cpoint 只能是整数,而GDi+的Point可以是实数[/quote] 像素位置都是整数,再说,gdi+实质是在内存dc中画好图在贴到设备dc上,不知道lz的gdi+为什么会闪烁,你在你的窗口类中重写OnEarseBkgnd函数,直接返回true(原来代码全删掉)试试
licitykity 2014-02-17
  • 打赏
  • 举报
回复
引用 4 楼 xiaohuh421 的回复:
闪多半是因为你没有使用双缓冲.
不是贴图的时候才可以使用双缓冲吗?一个一个点连成直线可以双缓冲吗?
Eleven 2014-02-17
  • 打赏
  • 举报
回复
GDI画线和精度有什么关联?? Polyline()
xiaohuh421 2014-02-14
  • 打赏
  • 举报
回复
闪多半是因为你没有使用双缓冲.
边走边瞧 2014-02-14
  • 打赏
  • 举报
回复
引用 2 楼 licitykity 的回复:
[quote=引用 1 楼 accessysq 的回复:] gdi,gdi+只是画图,跟精度有啥关系。
========================================= gDI的Cpoint 只能是整数,而GDi+的Point可以是实数[/quote] 屏幕坐标可以是浮点数不?
licitykity 2014-02-14
  • 打赏
  • 举报
回复
引用 1 楼 accessysq 的回复:
gdi,gdi+只是画图,跟精度有啥关系。
========================================= gDI的Cpoint 只能是整数,而GDi+的Point可以是实数
  • 打赏
  • 举报
回复
gdi,gdi+只是画图,跟精度有啥关系。

15,979

社区成员

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

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