У меня проблемы с загрузкой файлов Tiff в C#. Я загрузил несколько образцов tiff-файлов и смог их нормально загрузить, однако, когда я пытаюсь загрузить любые tiff-файлы, сгенерированные из PCI Geomatica или ArcGIS, вызов ReadRGBAImage завершается ошибкой (возвращает false). Кроме IMAGEWIDTH и IMAGELENGTH, все другие теги, которые я пытался получить, вернули значение null (например, XRESOLUTION). У кого-нибудь есть идеи, почему это происходит? Соответствующий код приведен ниже:
using (Tiff tif = Tiff.Open(fileName, "r"))
{
// Find the width and height of the image
FieldValue[] value = tif.GetField(TiffTag.IMAGEWIDTH);
int width = value[0].ToInt();
value = tif.GetField(TiffTag.IMAGELENGTH);
int height = value[0].ToInt();
// Read the image into the memory buffer
int[] raster = new int[height * width];
if (!tif.ReadRGBAImage(width, height, raster))
{
System.Windows.Forms.MessageBox.Show("Could not read image");
return null;
}
}
Спасибо!
ReadRGBAStrip
... (Кроме того, мозаичное размещение является обычным для форматов изображений ГИС.) - person adv12   schedule 15.01.2015ReadRGBAStrip
, то вы сможете прочитать его и с помощьюReadRGBAImage
. И LibTiff.Net должен нормально читать изображения с любым порядком байтов. Так что довольно интересно, почемуReadRGBAImage
терпит неудачу. Было бы полезно, если бы вы разместили здесь все сообщения об ошибках и предупреждения, выдаваемые библиотекой. - person Bobrovsky   schedule 15.01.2015