Бих искал да генерирам PNG изображения с 1 бита (2 цвята) или 2 бита (4 цвята) дълбочина с библиотеката Libpng.
Някой знае ли как се прави? Тествах примери и всички изглежда работят с 8-битова дълбочина на цвета?
Познавам png_set_IHDR, но в примера, който тествам, когато променя параметъра за дълбочина в png_set_IHDR от 8 на 2 или 1, програмата ми изчертава един пиксел от 2 или 4. Мисля, че това се дължи на разпределението на паметта, създадено с функцията png_malloc.
В примера се опитвам да модифицирам (http://www.lemoda.net/c/write-png/), функцията png_malloc разпределя всички пиксели на изображението с sizeof uint8_t.
png_malloc (png_ptr, sizeof (uint8_t) * bitmap->width * pixel_size);
Можете ли да ми кажете как да разпределя 1-битови или 2-битови пиксели?
Благодаря на Jo2s
png_set_IHDR
с битова дълбочина 1 или 2. Какво друго ви трябва? - person mmgp   schedule 15.02.2013