MS.ASP.NET

17 июл 04, 03:21
Проблемы с indexed pixel format.

При использовании подобного кода

Bitmap bmp = new Bitmap("test.gif");
Graphics g = Graphics.FromImage(bmp);

может возникнуть исключение "A Graphics object cannot be created from an image that has an indexed pixel format." Вкраце, indexed format - это формат, где каждый пиксел изображения представлен индексом в таблице цветов (палитре). Например, в индексированном формате 8bpp каждый пиксел - байт 0..255, индекс в таблице из 256 цветов. Индексированные форматы - 1bpp, 4bpp, 8bpp. Кое что можно посмотреть еще [URL=http://msdn.microsoft.com/library/en-us/cpref/html/frlrfSystemDrawingGraphicsCla...]здесь[/URL].

Так... а избежать вышеупомянутого исключения можно при помощи создания нового битмапа с размерами оригинала и вывода в него исходного изображения при помощи DrawImage.

Bitmap bmp = new (Bitmap)Image.FromFile("test.gif");
Bitmap tmp = new Bitmap(bmp.Width,bmp.Height);
Graphics g = Graphics.FromImage(tmp);
g.DrawImage(bmp,new Rectangle(0,0,tmp.Width,tmp.Height),0,0,
bmp.Width,bmp.Height,GraphicsUnit.Pixel

Комментарии

@ 23.4.10, 22:16, megalkin

@ 2.5.10, 06:14, svezachok
скачать фильмы бесплатно




Добавить комментарий
  • Об этом дневнике 

  • Мой дневник:
  • Создать/изменить дневник
  • Добавить запись
  • Посмотреть комментарии