不用SetPixel,如何快速画出大量的点像素,求救!!

tengxg 2011-05-31 02:10:36
需要在wince下画出大量的点,每个点像素动态的赋颜色值,用Setpixel速度慢的可怜,还望高人指点迷津。
...全文
295 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
Ei 2011-06-01
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 veron_04 的回复:]
引用 4 楼 aaa_tnt 的回复:
CreateDIBSection 得到一个DIB指针,然后往里面填数据,最后bitblt画出来,这样应该会快很多。

这个方法的确不错,但代码难度比较高。如果数量不是特大,还是建议楼主考虑使用SetPixel来设置。
[/Quote]
这个没什么难度吧,也是按素点填。呵呵。。只是换一种方式
贝隆 2011-06-01
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 aaa_tnt 的回复:]
CreateDIBSection 得到一个DIB指针,然后往里面填数据,最后bitblt画出来,这样应该会快很多。
[/Quote]
这个方法的确不错,但代码难度比较高。如果数量不是特大,还是建议楼主考虑使用SetPixel来设置。
lan120576664 2011-06-01
  • 打赏
  • 举报
回复
作双缓存的方式会快多了~~!
QQ515311445 2011-06-01
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 tengxg 的回复:]

for(i=0;i<100;i++)
for(j=0;j<100;j++)
{
b=bData[i][iBscanInd-1][j];
if(b>200&&b<255) c=RGB(255,0,0);
else if(b>150&&b<200) c=RGB(0,255,0);
else if(b>100&&b<150) c=……
[/Quote]
确实太慢,我试过
当我遇上-你 2011-05-31
  • 打赏
  • 举报
回复
4L方法不错,LZ的是直接画点到屏幕
tengxg 2011-05-31
  • 打赏
  • 举报
回复
这两天都弄得焦头烂额了,能给几行关键代码
Ei 2011-05-31
  • 打赏
  • 举报
回复
CreateDIBSection 得到一个DIB指针,然后往里面填数据,最后bitblt画出来,这样应该会快很多。
tengxg 2011-05-31
  • 打赏
  • 举报
回复
各位关注一下啊,困扰我两天了
tengxg 2011-05-31
  • 打赏
  • 举报
回复
for(i=0;i<100;i++)
for(j=0;j<100;j++)
{
b=bData[i][iBscanInd-1][j];
if(b>200&&b<255) c=RGB(255,0,0);
else if(b>150&&b<200) c=RGB(0,255,0);
else if(b>100&&b<150) c=RGB(0,0,255);
else if(b>50&&b<100) c=RGB(255,255,0);
else if(b<50) c=RGB(0,255,255);
bits[i][j]=c;
//m_Bdc.SetPixel(i,j,c);
}

我把最后一行注释掉,就非常快
Ei 2011-05-31
  • 打赏
  • 举报
回复
不一定是Setpixel的速度慢?你测试过了?怎么测试的?

19,502

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 嵌入开发(WinCE)
社区管理员
  • 嵌入开发(WinCE)社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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