2013-02-04 6 views
0

ID2D1RenderTarget에 Direct2D 내용을 그리는 기존 구성 요소가 있는데이 그림을 이미지 파일에 저장하려고합니다. 질문이 here, herehere인데 도움이되었지만이를 수행하는 방법으로 명확한 답을 제공하지 않았습니다.ID2D1RenderTarget의 내용을 파일에 저장하는 방법

제 생각에는 공식 MSDN method을 사용해 보았습니다. 불행히도 Win7에서는 사용할 수 없습니다.

첫 번째 아이디어는 드로잉 루틴을 수정하여 RenderTarget을 매개 변수로 사용하고 ID2D1Factory :: CreateWicBitmapRenderTarget을 사용하여 IWICBitmap에 직접 드로잉하는 것이 었습니다. 그러나 그것은 나에게 매우 어려웠습니다. 드로잉 루틴 자체뿐만 아니라 해당 컴포넌트의 모든 사용자의 드로 콜백 (델파이로 작성된 코드는 Embarcadero의 TDirect2DCanvas을 사용하므로 렌더링 대상 또는 브러시와 같은 모든 Direct2D 리소스를 관리 할 필요가 없음)).

내 두 번째 생각은 (이 here을 수행 있었는지에 관한 것입니다), ID2D1Bitmap을 만들 이미 ID2D1Bitmap :: CopyFromRenderTarget를 사용하여 그려진 것과 그것을 채우기 다음 WicBitmapRenderTarget에 그 ID2D1Bitmap을 그릴 수 있었다. 나는 내가 링크 한 질문을하는 사람들과 같은 종류의 문제를 가지고 있었다 : 간단히 explained Kenny Kerr처럼 다른 자원 동질성.

첫 번째 아이디어를 구현하지 않아도 Win7에서 구현할 수 있습니다. 어떻게해야할까요?

답변

0

Direct2D 1.1은 플랫폼 업데이트를 설치하면 Windows 7에서 지원됩니다. 불행히도, 그 첫 번째 두 가지를 추가로 작성하지 않으면 문제가 해결되지 않습니다. 1) 아직 출시 전/베타 버전이며, 2) 다른 설치 종속성으로 인해 걱정할 필요가 없습니다.

+0

나는 그런 종류의 설치를 피하고 싶습니다. 결국 내 "첫 번째 아이디어"를 구현해야 할 것 같습니다. – Papaya