Если размер вашего файла меньше 4 ГБ на диске , чем я рекомендую вам еще раз взглянуть на LibTiff.Net. Даже с такими большими изображениями у вас есть несколько вариантов.
Прежде всего, проверьте, является ли ваше изображение мозаичным или полосатым. Tiff.IsTiled
метод даст вам ответ.
Если ваше изображение выложено мозаикой, то вам, вероятно, не стоит читать его, используя метод ReadScanline
. В этом случае лучше использовать метод ReadEncodedTile
.
Если ваши изображения обрезаны, вы можете использовать методы ReadScanline
и ReadEncodedStrip
, чтобы прочитать их.
Если вы хотите использовать что-то, что ожидает System.Drawing.Bitmap
, попробуйте использовать ReadRGBATile
или ReadRGBAStrip
. Эти методы могут быть использованы для создания растровых изображений из частей вашего изображения. Для этого нет примера, но Преобразование цветного TIFF в 32-разрядный System.Drawing.Bitmap должно предоставить вам почти всю необходимую информацию о том, как преобразовать плитку или полосу изображения в растровое изображение. *
EDIT:
В LibTiff.Net 2.4.508 добавлена поддержка BigTiff, поэтому также поддерживаются файлы размером более 4 ГБ.