怎样使导入的BITMAP图片显示变亮或变暗

comeonstuding 2003-10-20 01:17:40
怎样使导入的BITMAP图片显示变亮和变暗

CBitmap m_bitmap; //建立一个位图对象
m_bitmap.DeleteObject(); //调用CGdiObject的DeleteObject函数将以前的BITMAP对象删除。
m_bitmap.LoadBitmap(nBitmapID);//载入指定ID的图象资源nBitmapID是资源的ID。





{
BITMAP bm;
m_bitmap.GetObject(sizeof(BITMAP),&bm);
CDC *pDC=new CDC;
CClientDC dc(&m_image); //将客户区定为我们的PICTURE控件。
pDC->CreateCompatibleDC(&dc);
pDC->SelectObject(m_bitmap);
//将图片伸缩成我们设定的大小。
dc.StretchBlt(0,0,320,240,pDC,0,0,bm.bmWidth,bm.bmHeight,SRCCOPY);
//如果不准备进行缩放可以用BITBLT。
//dc.BitBlt(0,0,bm.bmWidth,bm.bmHeight,pDC,0,0,SRCCOPY);
这样才能使他显示变亮或变暗
delete pDC;
}
...全文
487 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
romanticist 2003-10-20
  • 打赏
  • 举报
回复
用hsl模式显示
mct1025 2003-10-20
  • 打赏
  • 举报
回复
对图像中各个像素的三个原色灰度分别叠加一个灰度值,引起原色饱和度的改变,以此来改变图像的亮度。叠加值为正,图像变亮,叠加值为负,图像变暗

dst_r = max(0,min(255,src_r + nLight));
dst_g = max(0,min(255,src_g + nLight));
dst_b = max(0,min(255,src_b + nLight));
flyelf 2003-10-20
  • 打赏
  • 举报
回复
使用api:AlphaBlend

19,468

社区成员

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

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