谁能提供一些关于Tiff文件格式的资料!(100分)

  • 主题发起人 zhujianbiao
  • 开始时间
Z

zhujianbiao

Unregistered / Unconfirmed
GUEST, unregistred user!
由于学习问题需要一些关于Tiff文件格式的资料,请各位帮帮忙!
 
 TIFF文件格式

  TIFF的全称为Tagged lmage File Format(标志图像文件格式)。它并不为某公司或机构所有,也不附属于特定的软件,是最常用的图像格式之一。可在W1ndows、Macintosh以及UNIX等多种系统平台上使用。

  TIFF最初的设计目的是为了形成一个能够在各软件间进行图像交换的通用图像文件格式。它使用的是开放式的结构,其描述能力远远超出了其它图像文件格式。TIFF支持任意大小的图像,从单色图像、48位真彩色图像、灰度图像一盲到索引颜色图像,几乎涵盖了所有色彩模型。

  TIFF和其它图像文件格式不同,在该格式中信息的存放位置和格式机动多变。一个TIFF文件可能非常简短,仅包含必要的说明信息和图像数据,也可能非常繁杂,除必要的图像数据外还需提供大量附加信息。

  TIFF最大的优点就是它的跨平台兼容性。但是TIFF的缺点也非常明显,由于它功能过于庞大,因此如果想支持TIFF图像格式,就需要大量的编程工作。同时,由于TIFF所支持的数据压缩方式繁多,也加大了程序编码的复杂性。

  前面和TIF文件一起提到的还有一种LZW压缩方式。所谓LZW其实是一种无损压缩算法。无损压缩就是指压缩后的数据可以在不丢失任何细节的情况下。被恢复到压缩前的状态。lZW算法压缩效率很高,因此在很多图像格式中都有应用。


http://vip.6to23.com/mays/downzone/docs/formats.1.htm
 
我以前用过一点,有些说明仅供参考!
TIFF文件格式
1.简介
tiff文件含有.tif的扩展名。Tiff文件自Aldus公司从1986年推出以来,至今已发表了好几个版本。
对于从单色到24位的真颜色,tiff文件都支持它们,而且不同的硬件间的修改与移植也非常的简单。例
如,一般的PC和MAC机间,可以很容易的移植。但是也因为它的多平台性及易移植性,带来一些负面影响。
因为它的结构是多种的,可变的,于是它也有多种压缩存储的方式,这就给解压工作带来很大的麻烦和
困难。简言之,tiff文件有三个比较突出的特点:一个是文件的可改性;二是文件的多格式性;三是文
件的可扩展性。
2.文件格式描述
一个tiff文件一般由三个部分组成:一部分是tiff文件的文件头;一部分是标识信息区,在该部分包
括不唯一的指向IFD目录的信息指针;还有一部分是tiff文件本身。
它以8字节长的图象文件头开始(ifh),该部分是tiff文件中唯一的,必须固定位置的数据结构。这个文
件头中最重要的成员是一个指向名为图象文件目录(ifd)的数据结构的指针。ifd是一个名为标记(tag)的用
于区分一个或多个可变长度数据块的表,标记中含有关于图象的信息。tiff文件格式定义70多种不同类型的
标记,有的用来存放以象素为单位的图象宽度和高度,有的用来存放色表(如果需要的话),当然还必须有用
来存放位图数据的标记,一个tiff格式文件完全为它的标记所决定,而且这种文件结构极易扩展,因为你要
附加一些特征只须增加一些额外的标记。每一组的标识信息都是由固定长度为12个字节的标记指针组成。这12
个字节中,有两个字节存放指示信息的代号,文件的数据类型占两个字节,在后面的8个字节中,存储的数据
值和标志参数占四个字节,该文件的数据量占了其余的四个字节。
Tiff文件的数据区才是真正存放图像数据的部分。在该区中,指出了图像文件是用何种压缩方法存放在文件
中,tiff文件是如何排列图像数据的,是如何分割图像的。
  究竟是什么使tiff文件如此复杂?一方面,要写一种能够识别所用不同标记的软件非常困难。大多数tiff的
阅读程序只能识别一部分标记,所以会出现这种情况:有时一个应用程序创建的tiff文件,另一个应用程序却不
能使用。创建tiff文件的程序还可能会在文件中加一些只有它自己认识的标记,虽然tiff的阅读程序可以跳过那
些它们不认得的标记,但这样做总是有可能影响到图象的质量。
  另一方面,一个tiff文件可以包含多个图象,每个图象都有自己的ifd和一系列标记。tiff文件中的位图数据
可能会用好几种方法来压缩,所以一个完备的tiff阅读程序应该有rle解压缩程序,lzw解压缩程序和其他一些算法
的解压缩程序。然而更糟的是使用lzw的解码必须得到unisys公司的同意,且通常是需要付版税的。所以即使是一些
相当不错的tiff阅读程序在它们遇到lzw算法压缩的图象时也是无能为力的。
尽管tiff是那么的复杂,但仍是一种最好的跨平台格式。因为它非常灵活,无论在视觉上还是其他方面,都能把
任何图象编码成二进制形式而不丢失任何属性。
TIFF文件最大为2**32 字节,一个TIFF 文件开始于 8-byte 的指向图像文件目录(IFD)的文件头。接着是IFD,
它包含了图像数据。
文件头:
字节 含义 可能取值 说明
0~1 字节顺序 II/MM
2~3 标识文件类型 42 与0~1字节相关
4~7 第一个IFD偏移量
IFD:包含2个字节的入口数,紧接后面为12字节的入口,然后为4个字节的下一个IFD的偏移量,最后一个IFD的
偏移量为4个字节的0。
IFD入口:
字节 含义 可能取值 说明
0~1 域的标志
2~3 域的类型 Byte/ascii/short/long/rational
4~7 类型的计数值
8~11 值的偏移量/文件偏移量
如下为一个例子:
Offset Description Value
(hex) (numeric values are expressed in hexadecimal notation)
Header:
0000 Byte Order 4D4D
0002 42 002A
0004 1st IFD offset 00000014
IFD:
0014 Number of Directory Entries 000C
0016 NewSubfileType 00FE 0004 00000001 00000000
0022 ImageWidth 0100 0004 00000001 000007D0
002E ImageLength 0101 0004 00000001 00000BB8
003A Compression 0103 0003 00000001 8005 0000
0046 PhotometricInterpretation 0106 0003 00000001 0001 0000
0052 StripOffsets 0111 0004 000000BC 000000B6
005E RowsPerStrip 0116 0004 00000001 00000010
006A StripByteCounts 0117 0003 000000BC 000003A6
0076 XResolution 011A 0005 00000001 00000696
0082 YResolution 011B 0005 00000001 0000069E
008E Software 0131 0002 0000000E 000006A6
009A DateTime 0132 0002 00000014 000006B6
00A6 Next IFD offset 00000000
Values longer than 4 bytes:
00B6 StripOffsets Offset0, Offset1, ... Offset187
03A6 StripByteCounts Count0, Count1, ... Count187
0696 XResolution 0000012C 00000001
069E YResolution 0000012C 00000001
06A6 Software “PageMaker 4.0”
06B6 DateTime “1988:02:18 13:59:59”
Image Data:
00000700 Compressed data for strip 10
xxxxxxxx Compressed data for strip 179
xxxxxxxx Compressed data for strip 53
xxxxxxxx Compressed data for strip 160
 
谁能提供关于一些控制、编辑Tiff格式的控件?
 
http://www.csdn.net/dev/Format/graphics/tif.pdf
 
控件也有的,graphicEx
 
graphicEx,现在只能支持到delphi 5.0,但是我现在用的是delphi 6.0!有没有支持6.0的控件!
 
顶部