65.9K
CodeProject 正在变化。 阅读更多。
Home

将图像保存到多页 TIFF 文件或将图像添加到现有 TIFF 文件

starIconstarIconstarIconstarIcon
emptyStarIcon
starIcon

4.68/5 (27投票s)

2006年12月27日

CPOL

3分钟阅读

viewsIcon

436058

downloadIcon

18262

描述了如何通过应用CCITT4压缩将图像保存到多页TIFF文件中,以及将图像附加到现有TIFF文件。

Load Image

引言

本文介绍了一种通过应用CCITT4压缩将图像保存为多页TIFF格式的方法。它还解释了如何将图像附加到现有的单页或多页TIFF文件。在此之前,我们将了解什么是tiff,以及为什么我们应该使用TIFF格式。

什么是TIFF?

Tagged Image FIle Format (TIFF) 是一种广泛使用的文件格式,用于在许多图像处理应用程序中存储图像。使用TIFF,我们可以将多个图像存储为单页或多页TIFF文件。我们还可以将新图像附加到现有的单页或多页TIFF文件。许多压缩方式(如CCITT3,CCITT4)也被应用于TIFF文件。图像相关数据(如扫描仪名称、压缩类型、每像素位数和主机名)也使用标签存储在TIFF文件中。由于所有这些优点,TIFF文件在许多应用程序中得到广泛使用。

您可以下载示例代码。本文附带的示例代码显示了以下两件事:

  1. 如何使用CCITT4压缩将多个图像存储到单个多页TIFF文件中。
  2. 如何使用CCITT4压缩将多个图像附加到现有的单页或多页TIFF文件中。

使用CCITT4压缩存储图像的原因是,程序员最初在使用TIFF时,通常在尝试使用.NET存储CCITT4压缩的图像时会遇到许多问题。最常见的错误消息是“无效参数”。此错误最可能的原因是您尝试应用CCITT4压缩的图像不是双色调图像。CCITT4压缩仅适用于双色调图像。因此,我提供了用于将图像转换为双色调图像的代码。示例应用程序中给出的代码使用.NET GDI+类来存储图像。

如何使用CCITT4压缩将图像存储到单个多页TIFF文件中

考虑以下屏幕

Load Image

您可以通过单击“加载图像”按钮来加载任意数量的图像。所有这些图像将显示在面板中。现在,您可以单击“另存为多页”按钮。将打开一个保存文件对话框,您可以指定文件名并单击“保存”按钮。如果所有图像都成功保存,则会出现一个消息框,其中包含消息“所有图像已成功保存”。:) 

如何将多个图像附加到现有的单页或多页TIFF文件中

您可以通过单击“加载图像”按钮来加载任意数量的图像。所有这些图像将显示在面板中。现在,您可以单击“添加到现有文件”按钮。将打开一个打开文件对话框,您可以从文件系统中选择任何TIFF文件来指定文件名,然后单击“保存”按钮。如果所有图像都成功保存,则会出现一个消息框,其中包含消息“所有图像已成功保存”。

代码解释

所有上述操作都是通过以下三个函数完成的

  • public bool saveMultipage(Image[] bmp, string location, string type)

    此函数负责接收图像数组,并将这些图像以多页TIFF文件格式保存在目标位置。

  • public bool saveToExistingFile(string fileName, Image[] bmp, string type)

    此函数负责将图像数组附加到由文件名参数指定的现有TIFF文件。

  • public Bitmap ConvertToBitonal(Bitmap original)

    此函数接受一个Bitmap对象,该对象是非双色调图像,并将该图像转换为双色调图像。这是应用CCITT4压缩所必需的。我们不能在非双色调图像上应用CCITT4压缩。

© . All rights reserved.