当前位置:七道奇文章资讯编程技术VC/C++编程
日期:2011-03-22 13:54:00  来源:本站整理

Qt学习之路(29):画图设备[VC/C++编程]

赞助商链接



  本文“Qt学习之路(29):画图设备[VC/C++编程]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:

画图设备是指担当QPainterDevice的子类.Qt一共供应了四个这样的类,辨别是QPixmap、QBitmap、QImage和 QPicture.此中,QPixmap专门为图象在屏幕上的显示做了优化,而QBitmap是QPixmap的一个子类,它的色深限定为1,你可以利用 QPixmap的isQBitmap()函数来肯定这个QPixmap是不是一个QBitmap.QImage专门为图象的像素级拜候做了优化. QPicture则可以记录和重现QPainter的各条号令.下面我们将分两部份介绍这四种画图设备.

QPixmap担当了QPaintDevice,因此,你可以利用QPainter直接在上面绘制图形.QPixmap也可以承受一个字符串作为一个文件的途径来显示这个文件,比方你想在程序之中翻开png、jpeg之类的文件,便可以利用 QPixmap.利用QPainter的drawPixmap()函数可以把这个文件绘制到一个QLabel、QPushButton大概其他的设备上面.QPixmap是针对屏幕举行特别优化的,因此,它与实际的底层显示设备息息相关.注意,这里说的显示设备并非硬件,而是操作系统供应的原生的画图引擎.所以,在差别的操作系统平台下,QPixmap的显示大概会有所差别.

QPixmap供应了静态的grabWidget()和grabWindow()函数,用于将自身图象绘制到目标上.同时,在利用QPixmap时,你可以直接利用传值也不需求传指针,因为QPixmap供应了“隐式数据同享”.关于这一点,我们会在今后的章节中具体描写,这里只要知道传送QPixmap没必要须利用指针就行了.

QBitmap担当自QPixmap,因此具有QPixmap的全部特点.QBitmap的色深始终为1. 色深这个概念来自计算机图形学,是指用于表现颜色的二进制的位数.我们知道,计算机里面的数据都是利用二进制表示的.为了表示一种颜色,我们也会利用二进制.比方我们要表示8种颜色,需求用3个二进制位,这时我们就说色深是3. 因此,所谓色深为1,也就是利用1个二进制位表示颜色.1个位只有两种状况:0和1,因此它所表示的颜色就有两种,黑和白.所以说,QBitmap实际上是只有黑白两色的图象数据.

由于QBitmap色深小,因此只占用很少的存储空间,所以合适做光标文件和笔刷.

下面我们来看同一个图象文件在QPixmap和QBitmap下的差别表现:

void PaintedWidget::paintEvent(QPaintEvent *event)
{
QPainter painter(this);
QPixmap pixmap("Cat.png");
QBitmap bitmap("Cat.png");
painter.drawPixmap(10, 10, 128, 128, pixmap);
painter.drawPixmap(140, 10, 128, 128, bitmap);
QPixmap pixmap2("Cat2.png");
QBitmap bitmap2("Cat2.png");
painter.drawPixmap(10, 140, 128, 128, pixmap2);
painter.drawPixmap(140, 140, 128, 128, bitmap2);
}

先来看一下运行后果:


  以上是“Qt学习之路(29):画图设备[VC/C++编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:

  • <b>Qt学习之路(28):坐标变更</b>
  • Qt学习之路(29):画图设备
  • <b>Qt学习之路(30):Graphics View Framework</b>
  • <b>Qt学习之路(31):一个简易画板的实现(QWidget)</b>
  • Qt学习之路(32):一个简易画板的实现(Graphics View)
  • Qt学习之路(33):国际化(上)
  • <b>Qt学习之路(34):国际化(下)</b>
  • <b>Qt学习之路(9):深化理解信号槽</b>
  • Qt学习之路(10):Meta-Object系统
  • <b>Qt学习之路(11):MainWindow</b>
  • <b>Qt学习之路(12):菜单和工具条</b>
  • <b>Qt学习之路(13):菜单和工具条(续)</b>
  • 本文地址: 与您的QQ/BBS好友分享!
    • 好的评价 如果您觉得此文章好,就请您
        0%(0)
    • 差的评价 如果您觉得此文章差,就请您
        0%(0)

    文章评论评论内容只代表网友观点,与本站立场无关!

       评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论
    Copyright © 2020-2022 www.xiamiku.com. All Rights Reserved .