라이브러리 Libpng로 1bits (2 색) 또는 2bit (4 색) 깊이의 PNG 이미지를 생성하고 싶습니다.Libpng로 2 비트 색상 심도 PNG 이미지 만들기
아무도 그 방법을 알고 있습니까? 나는 예제를 테스트했으며, 모두 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 비트 픽셀을 할당하는 방법을 알려줄 수 있습니까?
png_set_IHDR에 감사의 Jo2s는
비트 심도가 1 또는 2 인'png_set_IHDR'을 사용하여 직접 수행됩니다. 그 밖의 무엇이 필요합니까? – mmgp