문제

비트 맵을로드하고 모든 사례를 처리하는 좋은 C 샘플을 아는 사람이 있습니까?

코드는 크로스 플랫폼이어야합니다.

감사.

도움이 되었습니까?

해결책

라이브러리와 같은 도서관을 사용하는 것이 좋습니다 SDL 이미지

다른 팁

최소 BMP 로더를 찾고 있다면이 링크는 라이브러리로드 할 라이브러리 종속성없이 BMP 형식, 데이터 구조 및 샘플 코드에 대해 알아야 할 모든 것을 제공합니다.

http://paulbourke.net/dataformats/bmp/.

또한 열린 GL 텍스처에서로드 된 BMP를 볼 수있는 코드도 포함되어 있습니다.

Chris Backhouse는 기능적인 작은 BMP 로더를 만들었습니다 (OpenGL 텍스처로 사용하는 것을 눈으로). C가 아닌 C ++이며 크로스 플랫폼이 아니라는 것을 인정합니다. 그러나 작고 이해하기 쉽기 때문에 여기에 링크를 추가 할 것이라고 생각했습니다.

http://users.ox.ac.uk/~orie1330/bmploader.html

이 작업을 수행하려면 외부 라이브러리가 필요합니다 (추천합니다. Imagemagick). Imagemagick 웹 사이트에는 문서 및 예제도 포함되어 있습니다.

Intel에서 개발 한 OpenCV 라이브러리를 확인하십시오.

BMP 파일 형식에 묶인 경우 헤더를 직접보고 픽셀을 얻는 것은 매우 간단합니다. 이 Google 검색을 참조하십시오. 더 흥미로운 경기 중 하나는입니다 여기. 가장 반 직관적 인 부분은 모든 픽셀 라인이 4 바이트 정렬된다는 것입니다. 또한 압축 된 BMP를 조심하십시오 ... (내 경험은 많은 타사 도구가 압축 된 BMP에 문제가 있으므로 일부 라이브러리도 마실 것입니다.)

BMP 파일 형식에 묶여 있지 않은 경우 libpng를 권장합니다. 그만큼 수동 매우 명확한 샘플 코드를 제공합니다.

다른 사람들이 제안한 것처럼 SDL과 같은 외부 라이브러리를 사용하고 싶을 수도 있습니다. 당신이 무언가를 배우고 직접하고 싶다면,이 매우 유사한 질문에 대한 나의 대답을 참조하십시오. C에서 GBA 형식으로 변환하기 위해 24bpp 비트 맵에서 각 픽셀에 대한 RGB 값 얻기 각 픽셀을 인쇄하는 C 코드를 찾을 수있는 곳에서 BMP 파일에 대한 Wikipedia 페이지를 살펴보십시오.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top