QT软件开发: 访问QImage每个像素点填充指定颜色

举报
DS小龙哥 发表于 2021/12/09 23:25:00 2021/12/09
【摘要】 需求:  需要将QImage加载的图片里指定的颜色值替换成另一种指定的颜色。 示例代码: QImage image; QString filename=QFileDialog::getOpenFileName(this,"选择打开的文件","C:/",tr("*.bmp *.jpg *.png")); ...

需求:  需要将QImage加载的图片里指定的颜色值替换成另一种指定的颜色。

示例代码:


  
  1. QImage image;
  2. QString filename=QFileDialog::getOpenFileName(this,"选择打开的文件","C:/",tr("*.bmp *.jpg *.png"));
  3. //filename==选择文件的绝对路径
  4. //加载图片
  5. image.load(filename);
  6. int w,h;
  7. //得到图片的宽高
  8. w=image.width();
  9. h=image.height();
  10. //遍历每个像素点
  11. for(int i=0;i<h;i++)
  12. {
  13. for(int j=0;j<w;j++)
  14. {
  15. QRgb rgb=image.pixel(j,i);
  16. if(rgb==0) //如果是透明色(全透明的颜色). 就填充成黑色
  17. {
  18. image.setPixel(j,i,0xFF000000);
  19. }
  20. }
  21. }
  22. //保存为新图片
  23. image.save("D:/linux-share-dir/test/123.png");

文章来源: xiaolong.blog.csdn.net,作者:DS小龙哥,版权归原作者所有,如需转载,请联系作者。

原文链接:xiaolong.blog.csdn.net/article/details/120043287

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。