Как обрезать часть изображения gif?

Всем привет!

я написал код, чтобы обрезать большое изображение до маленького.

Все в порядке, но когда я пробовал изображения GIF, я получаю следующее исключение

"Объект Graphics не может быть создан из изображения с индексированным форматом пикселей."

Я использую класс Graphics для этого

Graphics gfx = Graphics.FromImage(croppedBitmap)

Спасибо.


person Wahid Bitar    schedule 13.05.2009    source источник


Ответы (1)


Пиксели изображений GIF не являются значениями RGB, они являются индексами массива таблицы цветов, хранящегося в заголовке файла. Графические объекты поддерживают только формат неиндексированных пикселей. Если вы хотите использовать графический объект, вы должны преобразовать свое изображение в неиндексированный пиксельный формат.

Именно это и сделал этот парень: http://www.codeproject.com/KB/cs/WriteTextToGif.aspx?display=PrintAll

person Community    schedule 13.05.2009
comment
Спасибо; Но я хочу сделать это без изменения типа изображения и разрешения.! - person Wahid Bitar; 13.05.2009
comment
Затем я выполнял работу с объектом Bitmap: Rectangle rect = new Rectangle(cropX,cropY,cropWidth,cropHeight); Обрезанное растровое изображение = растровое изображение.Клон (прямоугольное изображение, растровое изображение.ПиксельФормат); возврат обрезанный; - person ; 13.05.2009