2009-09-08 5 views
7

단순한 네이티브 Windows의 메모리 비트 맵에 PNG 파일을 읽는 방법은 불가능한 것처럼 보였지만, 많은 인터넷 검색을 한 후에 나는 그것을 믿기 시작했습니다. libpng/zlib 조합이 너무 큽니다. PNG를 읽을 수있는 타사 라이브러리 Win32 라이브러리가 있습니까?Win32/C++을 사용하여 PNG 읽기

편집 : boost :: gil :: png 솔루션은 내가 기대했던 것보다 훨씬 복잡합니다. 파일 이름을 사용하고 메모리 버퍼를 픽셀로 채우는 단일 호출이 필요합니다.

+1

중복? 여기를 참고하십시오 http://stackoverflow.com/questions/366768/convert-bitmap-to-png-in-memory-in-c-win32/538742 –

+0

코어 OS API는 반드시 다중 읽기 및 쓰기 기능을 지원하지 않아야합니다 이미지 유형. 이런 종류의 많은 제 3 자 라이브러리가 있습니다. –

+1

에드, 제 3 자 라이브러리에 대해 구체적으로 묻고 있다는 사실에 비추어 귀하의 의견을 이해할 수 없습니다. –

답변

17

또는 물론 당신이 GDI는 + 사용할 수 있습니다 - Bitmap 객체가 문자열 생성자를 받아 지정된 파일을로드는 메모리에. 그렇게하면 외부 라이브러리가 필요없고 Windows와 함께 제공됩니다.

+1

그게 내가 찾고있는 것, 감사합니다. 나는 (실수로) GDI +가 .NET의 일부라고 생각하고 .NET 런타임은 Windows XP 및 SP2를 사용하지 않았습니다. 이것은 좋은 소식입니다. –

+3

Nah GDI +는 핵심 Windows의 일부입니다. –

+0

+1 나는 IJK와 마찬가지로 GDI +가 .NET이라고 가정하고 그런 기본적인 지식을 잃어 버렸다는 것을 믿을 수 없습니다. 고마워 래리! –

1

libgd은 Windows에서 사용할 수 있고 많은 대중 언어 용 바인딩이있는 훌륭한 라이브러리입니다.

0

일부 내장 사용할 수있는 물건이있다 : IImgCtx 및 이후 버전의 Windows에 당신은 또한 WIC

-1

성공적으로 이것을 수행하기 위해 libpng을 사용했습니다.

관련 문제