Мой файл tif проиндексирован 8 бит на пиксель и был сохранен с цветовой картой.

Есть ли способ восстановить эту цветовую карту из файла на C #?

По умолчанию окно изображения автоматически отображает такую ​​цветовую карту, поскольку крайние левые и правые точки представляют 0 и 255.

enter image description here

Я тщетно искал это в Интернете.

Если нет возможности сделать это, как кто-то может определить цвет в пикселе проиндексированного изображения 8 бит на пиксель?

c#
2
Tae-Sung Shin 20 Сен 2012 в 01:47

1 ответ

Лучший ответ

Предполагая, что вы хотите отредактировать цветовую карту, вы можете просто изменить палитру изображения:

System.Drawing.Image image = Image.FromFile(@"Q:\my_image.tif");
System.Drawing.Imaging.ColorPalette palette = image.Palette;
//...palette.Entries is simply an array of System.Drawing.Color, modify to suit

//crucial step - palette was retrieved as a copy, so
//it is necessary to store the copy back to the image
image.Palette = palette;

Если вы снова сохраните изображение в виде размолвки, измененная палитра уйдет вместе с ним.

2
allonym 20 Сен 2012 в 11:30