QT 之 QImage类
来源:互联网 发布:js new date 前一天 编辑:程序博客网 时间:2024/05/16 01:11
QImage类提供了一个硬件无关的图像表示方法,该图像可以逐像素被访问和用于画图设备。
Qt提供了QImage、QPixmap、QBitmap和QPicture四种图像操作类。QImage类主要用于I/O和直接逐像素访问、操作;QPixmap主要用于在屏幕中显示图像;QBitmap是一个基于方便考虑继承自QPixmap的提供1bit深度二值图像的类;QPicture是一个可以记录和响应QPainter类命令的画图设备。
QImage继承自QPaintDevice,QPainter类可以被用来直接在图像上进行画操作。
QImage类支持QImage::Format枚举变量描述的多种图像类型,包括8-bit, 32-bit 和 alpha-blended images
QImage 提供很多可以用于获取图像信息和进行图像变换的函数。
1。读写图像
QImage有多种读取图像的方法。图像文件可以在生成QImage对象的过程中或者在之后用load和loadFromData方法读取,也可以用静态方法fromData利用给定的数据构造。读取的图像可以是存储在磁盘中或某个嵌入式应用程序的资源。
save方法可以用来保存QImage对象。
2。图像信息
QImage类提供了很多用于获取图像信息的方法。
如size、width、height、dotsPerMeterX、dotsPerMeterY、pixel、text、depth
3。像素赋值操作
1).32-bit图像
用qRgb或qRgba方法设置一个颜色值,再用sexPixel将相应像素设置为相应颜色
2).8-bit和1-bit二值图像
每一个像素的值是color table List中的一个索引,因此像素的值只能被改成一个在color table List中已经定义的值。如果想往color table List中加入新的值,可以用setColor方法。
4。图像格式
QImage中的每一个像素由一个整数表示,这个整数的大小取决于不同的图像格式。
8-bit图像的每一个像素的值是color table List中的一个索引,32-bit每一个像素拥有一个自己的rgb值(RGB、ARGB、premultiplied ARGB)
图像的格式可以用format方法得到,convertToFormat方法可以用来将一种格式的图像转换为另外一种,allGray和isGrayscale方法可以用来检查一个彩色图像是否可以被安全转换为灰度图像。
5。图像变换
mirrored、scaled、rgbSwapped、scaledToWidth、scaledToHeight、transformed...
#include <QtGui/QApplication>
#include "mainwindow.h"
#include "qimage.h"
#include "qlabel.h"
#include "qpixmap.h"
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
MainWindow w;
QLabel* label=new QLabel("",0);
QImage img;
img.load("E:/Image/lena.jpg");
QPixmap mp;
mp=mp.fromimage(img);
label->setPixmap(mp);
label->show();
return a.exec();
}
- QT 之 QImage类
- qt之QImage
- 自学qt之QImage
- Qt的QImage类
- QT中QImage类
- QT中QImage类
- Qt之图像处理QImage
- Qt图片绘图类QPixmap/QImage/QPicture
- Qt中图像类QImage,QPixmap
- Qt 图像类 QImage QPixmap QBitmap QPicture 之区别与用途
- [原]opencv学习之QT,Mat 2 QImage
- QT QPixmap、QBitmap、QImage
- Qt QImage QPainter
- 【Qt】QImage等坐标系
- QT Qimage转Iplimage
- QImage类
- QImage类
- Qt的4个图像类QImage/QPixmap/QBitmap/QPicture
- Android 消息系统解析(Handler.class及相关类源码解析)
- 史上最全:Android开发者必知的开发资源
- 从设计模式角度看ArcGIS Engine
- usaco 4.2.3 Job Processing
- 冒泡排序
- QT 之 QImage类
- Include设置layout_*无效解决方法
- oracle基本管理(3)
- Python3.2 实现基于KNN算法的数据分类
- CString::SpanIncluding函数的使用
- 数据结构-概述(1)
- oracle基本管理(4)
- StringBuffer和String、 StringBuilder的区别:
- Python面试题集合