Я пытаюсь сохранить растровое изображение с индексом в Tiff, используя Libtiff.net.Но он выдает OutOfRangeException:
Исключение происходит, если я установил и проиндексировал карту цветов:
internal static bool SaveColorPalette(Bitmap source, Tiff destTiff, int bitsPerSample)
{
destTiff.SetField(TiffTag.PHOTOMETRIC, Photometric.PALETTE);
var paletteSize = 1 << bitsPerSample;
var palette = source.Palette.Entries;
var reds = new short[paletteSize];
var greens = new short[paletteSize];
var blues = new short[paletteSize];
for (var i = 0; i < palette.Length && i < paletteSize; ++i)
{
var color = palette[i];
reds[i] = color.R;
greens[i] = color.G;
blues[i] = color.B;
}
destTiff.SetField(TiffTag.COLORMAP, reds, greens, blues);
return true;
}
У кого-нибудь есть идеи, что может вызвать это?
Спасибо.
Редактировать: Исключение возникает, когда я сохраняю Tiff с
outputTiff.WriteDirectory();