Как узнать о структуре растровых и JPEG файлов? - PullRequest
2 голосов
/ 24 марта 2010

Я пытаюсь написать очень простую программу обработки изображений для развлечения и практики. Я использовал System.Drawing. ... .Bitmap класс для обработки изображений и редактирования их данных. но теперь я хочу написать свой собственный класс реализации объекта Bitmap и узнать, как файлы bmp (и другие распространенные форматы bitmap) и их метаданные (индексация, система цветности и т. д.) хранятся в файлах, а также как читать и напиши им напрямую?

Ответы [ 4 ]

1 голос
/ 24 марта 2010

Формат файла BMP очень прост, у вас не будет проблем с созданием собственного. Но вы попадете в стену в сжатом формате, таком как PNG, TIFF или JPEG. Никто не пишет кодер для них, для них есть хорошо разработанные эталонные реализации. Они написаны на C, универсальном языке для таких библиотек.

Google "libpng", "libtiff" и "libjpeg", чтобы найти их. Вам понадобится компилятор C, чтобы превратить их в DLL, которую вы можете P / Invoke.

1 голос
/ 24 марта 2010

http://www.wotsit.org/ - хорошее место для документов формата файлов

BMP довольно прост и хорошее место для начала. Следующее, что я сделаю, это TIFF, а затем вы можете выбрать компрессии, которые кажутся наиболее простыми. Основная проблема с переходом на JPEG - понимание того, как выполнять сжатие.

Существуют библиотеки с открытым исходным кодом для основных форматов, к которым вы можете обратиться за рекомендациями (libpng, libjpeg, libtiff).

0 голосов
/ 24 марта 2010
0 голосов
/ 24 марта 2010

Вам нужны статьи из Википедии для файлов BMP и JPEG , а также File и FileStream классов в .Net.

...