Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2644567
  • 博文数量: 416
  • 博客积分: 10220
  • 博客等级: 上将
  • 技术积分: 4193
  • 用 户 组: 普通用户
  • 注册时间: 2006-12-15 09:47
文章分类

全部博文(416)

文章存档

2022年(1)

2021年(1)

2020年(1)

2019年(5)

2018年(7)

2017年(6)

2016年(7)

2015年(11)

2014年(1)

2012年(5)

2011年(7)

2010年(35)

2009年(64)

2008年(48)

2007年(177)

2006年(40)

我的朋友

分类: C/C++

2009-09-11 14:24:36

// 透明色为品红qRgba(255,0,255,255)
将非品红色转换成black,品红色转换成white,以做mask图用
QPixmap Form::convertToBW(const QImage &map)
{
 QImage img(map);
 for (int i = 0; i < img.height(); i++)
 {
  for (int j = 0; j < img.width(); j++)
  {
   if(img.pixel(j, i) == qRgba(255,0,255,255))
    img.setPixel(j, i, qRgba(255,255,255,255));//Or you can use qRgba(0,0,0,0) instead for trans
   else
    img.setPixel(j, i, qRgba(0,0,0,255));//Or you can use qRgba(0,0,0,0) instead for trans
  }
 }
 return QPixmap::fromImage(img, Qt::MonoOnly);
};
 
QPixmap Form::convertToBW(const QString &file)
{
 QImage img;
 img.load(file);
 return convertToBW(img);
}
调用方法:
QPixmap piximg = convertToBW("bg.png");
 piximg.save("kk05.png");
阅读(4569) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~