2010-12-16 2 views
5

xlib를 사용하고 있습니다.xlib XImage를 PNG에 저장

XGetImage() 호출의 정보로 채워진 XImage 구조가 있습니다. XImage에서 좀 더 의미있는 것으로 얻을 수있는 인기있는 방법이 있나요? 즉 PNG입니까?

저는 libpng을 살펴 봤지만 길들이기는 짐승이라고 거의 모두 들었습니다. 이것이 여전히 권장되는 길입니까?

+0

http://stackoverflow.com/questions/4462958/writing-bitmap-to-string-insted-of-file-or-ximage-to-png –

답변

4

How to save XImage as bitmap?도 참조하십시오.이 사람은 라이브러리를 사용할 수 없다는 제약이있었습니다.

라이브러리를 사용할 수 있다면 카이로는 내가 믿기에 좋은 방법입니다. 그것은 당신을 위해 libpng 난장판을 다루는 PNG 저장 기능을 가지고 있으며 X에서 픽셀을 가져 오는 코드를 가지고 있습니다. 그러나 XImage에서 픽셀을 얻는 것을 어렵게 만들 수 있습니다. 윈도우 나 픽스맵에서 가져오고 싶을 것이다. XGetImage()를 카이로로 대체 할 수 있다면 제대로 작동 할 것입니다. 당신이 대략 내가 생각 카이로에서 일을 할 것입니다 방법은 다음과 같습니다

  • Xlib를면 당신은 또한에 소스로 Xlib의 표면을 사용할 수

PNG http://cairographics.org/manual/cairo-PNG-Support.html에 저장하여 당김

  • 에서 지적 생성 PNG로 저장하기 전에 원하는 경우 이미지 표면에 그립니다. 그런 다음 이미지 표면이있는 다른 것들 (스케일이나 페인트 등)을 원하면 수행하십시오.

    어떤 종류의 UI 툴킷을 사용하는 경우이 코드도있을 수 있습니다 (예 : GTK +에는 gdk_pixbuf_get_from_drawable()이 있습니다.

  • +0

    감사합니다! 나는 그 포스트를 보았지만, 나는 대중적인 일이었을 것이라고 생각했던 것을 위해 다른 라이브러리를 시도하는 것에 꽤 무지했다. 카이로는 완벽한 대답처럼 보입니다. – digitalfoo

    관련 문제