0

我有一个 14 位图像 (640 x 512) 的缓冲区。我需要将此图像保存为 16 位 TIFF。

所以,每个像素需要 2 个字节,我可以像这样转换成灰度(8 位):

(buffer[index] | buffer[index + 1] << 8) & 0x3FFF

index例如是像素数)。

据我了解,我可以使用位图轻松地将 8 位图像保存为 BMP:

bmp.Save("c:\\button.gif", System.Drawing.Imaging.ImageFormat.Bmp);

但我不知道,如何将其转换为 16 位 TIFF。我应该将 8 位转换为 16 位,还是将 14 位转换为 16 位?如何?

有人告诉我我必须形成一些 TIFF 标头并将图像数据添加到此标头。这是真的吗?有这方面的例子吗?或者一些库来自动化这个过程。

4

1 回答 1

0

您可以使用 LibTiff .NET 以 TIFF 格式保存图像:

LibTiff .NET

要将 14 位转换为 16 位,请将每个像素(2 个字节)乘以 4。

于 2014-04-30T04:56:37.930 回答