GDI+学习记录之获得图片每个像素
2015-09-07 15:55
435 查看
使用Bitmap对象加载位图,通过位图对象的GetPixel()方法和SetPixel()方法设置位图每个像素点的颜色;
Graphics graphics(GetDC()->m_hDC); Bitmap photoFrame(L"PhotoFrame.bmp");//装载图片资源 Bitmap photo(L"photo.bmp"); int iWidth=photoFrame.GetWidth();//获得图片宽度和高度 int iHeight=photoFrame.GetHeight(); Color color,colorTemp;//声明颜色对象 int iAlpha=255;//设置透明度(0-255)0表示完全透明,255表示不透明 for(int iColumn=0;iColumn<iWidth;iColumn++) { for(int iRow=0;iRow<iHeight;iRow++) { photoFrame.GetPixel(iColumn,iRow,&color);//获得当前像素点的颜色 if(255==color.GetRed() && 255==color.GetGreen() && 255==color.GetBlue())//如果为白色就完全透明 { iAlpha=0; } else { iAlpha=255; } colorTemp.SetValue(color.MakeARGB(iAlpha,color.GetRed(),color.GetGreen(),color.GetBlue())); photoFrame.SetPixel(iColumn,iRow,colorTemp);//设置当前像素点的颜色 } } graphics.DrawImage(&photoFrame,0,0,iWidth,iHeight);//开始在指定位置绘图 graphics.DrawImage(&photo,30,30,photo.GetWidth(),photo.GetHeight());
相关文章推荐
- 代码生成XML
- scala编程
- StoryBoard学习1 tabbar实现
- 关于ADDED_TO_STAGE事件
- Sublime Text 3 快捷键精华版
- android中自定义View设置属性
- const和static辨析
- Appium测试用例之——使用代码安装apk
- java静态类与非静态类
- JavaScript面向对象编程--学习
- 模板输出U方法带锚点 thinkphp
- Pollard Rho算法思想
- linux 中搜狗输入法的安装
- mysql 给已存在的商品数据,根据商品ID增加商品编号
- 点击发送短信验证码页面的代码
- Python编辑器--Ulipad
- Linux管道实现机制
- Light oj 1044 - Palindrome Partitioning(记忆化)
- 正确使用SQLCipher来加密Android数据库
- LoadRunner常见问题