qt之QImage

QImage::QImage()

   构造一个空的QImage对象,此时返回的对象,如果调用isNULL 返回值为真

QImage::QImage(const QSize & sizeFormat format)

       Premultiplied,指每个像素用多少位来存储。

 

QImage::Format_RGB32

4

The image is stored using a 32-bit RGB format (0xffRRGGBB).

QImage::Format_ARGB32

5

The image is stored using a 32-bit ARGB format (0xAARRGGBB).

QImage::QImage(int widthint heightFormat format)

 构造一个宽为width,高为height,格式为 format的图像,如果内存分配失败则会返回一个NULLimage对象

 

 

 

 

QImage::QImage(uchar * dataint widthint heightFormat formatQImageCleanupFunction cleanupFunction = 0, void *cleanupInfo = 0)

根据已有数据构造一个image对象

 

QImage::QImage(uchar * data, int width, int height, int bytesPerLine, Format format, QImageCleanupFunction cleanupFunction = 0, void * cleanupInfo = 0)

 

根据已有的数据构造一个对象

 其中bytePerLine的算法是

   图像宽度* 图像位数/8bit+3(为了不丢失数据) )/4 * 4 从而得到每行的字节数是4的整数倍的大小

  位图:

    bmp文件的数据块部分不是直接的一个个像素排列后存储。为了要保证每行的字节数都能够被4整除,往往要在每行数据后面补充123个字节的冗余信息。

 

X*Y大小的24bmp图像,每个像素占3个字节,如果X*3后不能够被4整除,则每行有可能是X*3+1, X*3+2X*3+3, 取决于哪个数值可以被4整除。

 

QImage::QImage(const QString & fileName, const char * format = 0)

从文件中构造一个image对象

     

int QImage::bitPlaneCount() const

 

 返回位图平面的数量。即多少位构成一个像素,32,24 81,

 

uchar * QImage::bits()

返回指向图像内存的首地址

int QImage::byteCount() const

返回存储该图像的大小

int QImage::bytesPerLine() const

返回图像每行的字节数

    

等价于 byteCount()/height()

 

QRgb QImage::color(int i) const

返回颜色表中第i个位置的rgb

int QImage::colorCount() const

返回颜色表中颜色的数量

 

QVector<QRgb> QImage::colorTable() const

返回颜色表

QImage QImage::convertToFormat(Format formatQt::ImageConversionFlags flags = Qt::AutoColor) const

转换图像格式

 

QImage QImage::copy(const QRect & rectangle = QRect()) const

返回一个图像的子区域大小的QImage对象

QImage QImage::copy(int x, int y, int width, int height) const

同上

 

QImage QImage::createAlphaMask(Qt::ImageConversionFlags flags = Qt::AutoColor) const

给每个像素创建一个透明掩码

 

QImage QImage::createMaskFromColor(QRgb color, Qt::MaskMode mode = Qt::MaskInColor) const

 

int QImage::depth() const

返回一个像素需要多少位来保存。

 

Format QImage::format() const

 

返回图像的格式

 

QImage QImage::fromData(const uchar * data, int size, const char * format = 0)

从一块内存中按照指定的格式来构造一个image对象

QImage QImage::fromData(const QByteArray & data, const char * format = 0)

 

void QImage::invertPixels(InvertMode mode = InvertRgb)

 

反转像素

bool QImage::load(const QString & fileName, const char * format = 0)

按照指定的格式从一个文件中加载图像

bool QImage::load(QIODevice * device, const char * format)

 

从一个设备中,加载图像

 

bool QImage::loadFromData(const uchar * dataint len, const char * format = 0)

 

从一块指定的内存中,加载图像

QRgb QImage::pixel(const QPoint & position) const

返回某一点的像素

 

bool QImage::save(const QString & fileName, const char * format = 0, int quality = -1) const

保存到文件

 


bool QImage::save(QIODevice * device, const char * format = 0, int quality = -1) const

 

保存到一个设备。

 

 

 

   

你可能感兴趣的:(qt之QImage)