QImage【详细描述】

Qt提供了四个处理图像数据的类: QImage、QPixmapQBitmap 和QPicture.。

  • QImage:为I/O、直接像素访问和操作而专门设计优化。
  • QPixmap:为在屏幕上显示图像而设计优化。
  • QBitmap: 是一个为了方便而继承QPixmap的类,需要确保深度为1。
  • QPicture:是一个记录和回放QPainter命令的绘制设备。

因为QImage是一个 QPaintDevice 子类,所以 QPainter也可以用来直接它,在QImage上使用QPainter时,绘制可以在当前GUI线程以外的其他线程中执行。

QImage类支持Format中描述的多种图像格式,包括单色、8位、32位和alpha混合图像。

QImage提供了一组函数用于获取图像信息,还可以支持对图像的变换操作。

QImage对象可以通过值传递,因为QImage类使用隐式数据共享

QImage对象也可以进行流媒体处理和比较。

隐式数据共享是C++特性,用来提高资源使用效率并减少数据复制。
当这些类作为参数传递时,只传递一个指向数据的指针,只有当函数写入数据时才会被真正复制。

警告:不支持在具有 QImage::Format_Indexed8格式的QImage上进行绘制。


 阅读和编写图像文件 

 QImage加载图像文件的方法:

  • 文件可以在构建QImage对象时加载。
  • 构建后使用 load()或loadFromData()函数加载。

QImage还提供了静态函数fromData(),从给定的数据构造一个QImage。

加载图像时,文件名可以引用磁盘上的实际文件,也可以引用应用程序的嵌入资源。(参阅Qt资源系统The Qt Resource System

调用 save() 函数可以保存一个QImage对象。

可以

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值