VerySource

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 710|回复: 4

GetPixel() SetPixel()的执行效率

[复制链接]

1

主题

2

帖子

3.00

积分

新手上路

Rank: 1

积分
3.00
发表于 2020-3-22 22:00:01 | 显示全部楼层 |阅读模式
求教 我有如下一段代码 把一个区域内的像素的亮度加深
实际执行的效率太慢了 求更好的解决办法

COLORREF rgb;
BYTE r,g,b;
for(UINT x=0;x<xMax;x++)
{
  for(UINT y=0;y<yMax;y++)
  {
    rgb=GetPixel(x,y);
    r=GetR(rgb);
    g=GetG(rgb);
    b=GetB(rgb);
    r+=20;g+=20;b+=20;//溢出问题不必考虑...小小的隐患而已...
    SetPixel(x,y,RGB(r,g,b);
  }
}
回复

使用道具 举报

0

主题

4

帖子

5.00

积分

新手上路

Rank: 1

积分
5.00
发表于 2020-7-4 20:45:01 | 显示全部楼层
不要逐个显示象素,在内存中修改完毕后一起显示
回复

使用道具 举报

0

主题

8

帖子

5.00

积分

新手上路

Rank: 1

积分
5.00
发表于 2020-7-5 22:00:02 | 显示全部楼层
同意楼上!
缓存一下。
回复

使用道具 举报

1

主题

2

帖子

3.00

积分

新手上路

Rank: 1

积分
3.00
 楼主| 发表于 2020-7-12 09:15:01 | 显示全部楼层
就是修改的memDC
回复

使用道具 举报

0

主题

14

帖子

12.00

积分

新手上路

Rank: 1

积分
12.00
发表于 2020-7-13 18:15:02 | 显示全部楼层
可用GetObject获取图形的数据指针,然后直接进行操作
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|CopyRight © 2008-2023|verysource.com ( 京ICP备17048824号-1 )

快速回复 返回顶部 返回列表