最近在項目中才接觸到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 }
