最近在项目中才接触到tiff格式。去度娘上查了一下,“TIFF为图像文件格式,此图像格式复杂,存储内容多,占用存储空间大,其大小是GIF图像的3倍,是相应JPEG图像的10倍”。看下它的定义:标签图像文件格式(Tagged Image File Format,简写为TIFF)是一种主要用来存储包括照片和艺术图在内的图像的文件格式。
项目基于QT 4.8,可能需要对tiff格式的影像进行操作,故自己测试了它的基本操作——读写与显示。
在QT中有多种读写影像的方法,部分代码如下:
1 char *filename = "F:/0.tif";
2 /*read + write*/
3 QImage image;
4 QImageReader qReader(filename);
5 image = qReader.read();
6 QImageWriter writer("F:/A.tiff", "tiff");
7 writer.write(image);
8
9 /*load + write*/
10 QImage image1;
11 image1.load(filename);
12 QImageWriter writer1("F:/B.tiff", "tiff");
13 writer1.write(image1);
14
15 /*load + save*/
16 QImage image2;
17 image2.load(filename);
18 image2.save("F:/C.tiff","tiff");
19
20 /*write*/
21 QImage image3 = QImage(filename);
22 QImageWriter writer3("F:/D.tiff", "tiff");
23 writer3.write(image3);
有图有真相
上面是tiff的读写操作,下面来看看tiff的在QLabel上的显示。TIFF的显示代码也很简单。
显示
1 QString filename = "F:/4.tiff";
2 QPixmap qimage(filename);
3 qimage = qimage.scaled(800,800);
4 ui->labelPic->setPixmap(qimage);
5 ui->labelPic->show();
有图有真相
QT 4.84 支持的图片格式有:
bmp
gif
ico
jpeg
jpg
mng
pbm
pgm
png
ppm
svg
svgz
tga
tif
tiff
xbm
xpm
可以用以下代码进行查看
1 QList<QByteArray> aa = QImageReader::supportedImageFormats();
2 foreach (QByteArray a , aa)
3 {
4 qDebug(a.data());
5 }