Декодирование изображения PCX в C# для отображения в виде растрового изображения
Я пытался создать декодер, который будет передавать через файл pcx и отображать его на экране в виде растрового изображения. Мне удалось получить информацию из заголовка изображения с помощью бинарного ридера, но теперь я достиг той части, которая, кажется, занимает наименьшее количество кода, но также является самой сложной: создание массива пикселей.
Я понимаю, что мне может понадобиться добавить два встроенных for
циклы для обработки данных. Я посмотрел на некоторые примеры C и C++, но изо всех сил пытаюсь понять их. Мне также нужно получить массив для его отображения. если вам нужно больше кода, я поделюсь им.
Я искал повсюду и читал спецификации, но я не знаю, как к этому подойти. Если бы кто-нибудь мог мне помочь, я был бы очень благодарен.
С уважением.
2 ответа
.NET изначально не поддерживает изображения PCX, у вас есть два варианта. Прочитайте спецификацию и расшифруйте изображение самостоятельно или используйте некоторую библиотеку.
Как указано на сайте bytes.com, вы можете использовать Dot Net Fireball (обертка Free Image) и загрузить изображение следующим образом:
Fireball.Drawing.FreeImage freeImage = new FreeImage(@"c:\test.pcx");
Image image = freeImage.GetBitmap();
хороший упаковщик, работающий с http://imagemagick.codeplex.com/
простота установки и запуска, см. примеры внизу страницы здесь: http://magick.codeplex.com/documentation