QT图片有彩到灰 去铁酮片一次吃多少片
创始人
2024-07-31 16:20:33
0

QT图片有彩到灰这是本文的内容,

QT的图像类有QImage,QPixmap,QBitmap,QPicture。

不过QPixmap和QBitmap是用来优化图像显示的,QPicture貌似可以记录QPixmap的操作记录,这个还没仔细看

QImage可以处理每个像素,这正是我所需要的查看帮助文档,发现QImage貌似没有直接读取为灰度图的(难道是我没发现?)于是采用最傻的方法:把RGB值设为相同的值,貌似很浪费空间的样子,思路就是读取每个像素的RGB值,再由此算出灰度值。

最大众化的计算公式是Gray = 0.3*R + 0.59*G + 0.11*B

QT中提供的方法有 int qGray ( QRgb rgb )

其计算公式是 Gray = (R * 11 + G * 16 + B * 5)/32

  1. void Picture::paintEvent(QPaintEvent*){   
  2.      QImage  image;   
  3.     image = QImage("airplane.jpg").scaled(200,200);   
  4.      int w,h;   
  5.      w = image.width();   
  6.      h = image.height();   
  7.      QImage iGray(w,h,QImage::Format_RGB32);     
  8.      for(int i=0; i<200; i++){  
  9.          for(int j=0;j<200; j++){  
  10.              QRgb pixel = image.pixel(i,j);  
  11.              int gray = qGray(pixel);  
  12.             QRgb grayPixel = qRgb(gray,gray,gray);  
  13.             iGray.setPixel(i,j,grayPixel);  
  14.          }  
  15.      }   
  16.      QPainter painter(this);  
  17.      painter.drawImage(0,0,image);  
  18.      painter.drawImage(200,0,iGray);  

运行结果:

QT图片有彩到灰

小结:QT图片有彩到灰介绍到这,通过以上的内容,还有效果图的实现,是不是感觉这个效果其实也挺好实现的呢?

【编辑推荐】

Qt中使图片像素变小

浅谈Qt中多线程编程

在Qt中如何写控制台程序

CSS图片替换的最佳实践

利用Qt绘图实现QWT绘制科学图表

相关内容

热门资讯

如何允许远程连接到MySQL数... [[277004]]【51CTO.com快译】默认情况下,MySQL服务器仅侦听来自localhos...
如何利用交换机和端口设置来管理... 在网络管理中,总是有些人让管理员头疼。下面我们就将介绍一下一个网管员利用交换机以及端口设置等来进行D...
施耐德电气数据中心整体解决方案... 近日,全球能效管理专家施耐德电气正式启动大型体验活动“能效中国行——2012卡车巡展”,作为该活动的...
Windows恶意软件20年“... 在Windows的早期年代,病毒游走于系统之间,偶尔删除文件(但被删除的文件几乎都是可恢复的),并弹...
20个非常棒的扁平设计免费资源 Apple设备的平面图标PSD免费平板UI 平板UI套件24平图标Freen平板UI套件PSD径向平...
德国电信门户网站可实时显示全球... 德国电信周三推出一个门户网站,直观地实时提供其安装在全球各地的传感器网络检测到的网络攻击状况。该网站...
着眼MAC地址,解救无法享受D... 在安装了DHCP服务器的局域网环境中,每一台工作站在上网之前,都要先从DHCP服务器那里享受到地址动...
为啥国人偏爱 Mybatis,... 关于 SQL 和 ORM 的争论,永远都不会终止,我也一直在思考这个问题。昨天又跟群里的小伙伴进行...