2013-01-23 2 views
2

Windows API를 사용하여 일부 벡터 그래픽을 인쇄하고 싶습니다 (또는 더 정확하게는 폴리 라인이 아닙니다). 인쇄는 자체 스레드에서 수행해야합니다.Windows : 간단한 벡터 그래픽을 인쇄하십시오 - 예?

일부 코드 스 니펫이나 예제를 Google/MSDN에 요청할 때 주로 WindowsForms/.NET 쓰레기를 사용하여 인쇄하는 방법을 설명하지만 WinAPI 예제는 찾을 수 없습니다. 또는 나는 MS가 제공 한 XPS 인쇄의 예제 인 매우 을 매우 혼란스럽고 많은 데이터를 프린터에 보내는 것 이상의 것을 많이 발견합니다.

내 질문 : 어딘가에 어리석은 줄을 인쇄하는 방법을 보여주는 간단한 예가 있습니까?

+0

예, C#/.NET/WindowsForms에는 많은 예제가 있습니다. 거대하고 혼란스럽고 많은 쓰레기를 포함하고있는 MSDN에 하나의 C/C++ 예제가 있습니다. – Elmi

답변

3

이 작업을 수행하기 위해 기존의 GDI 기능을 사용하려면, 당신은 두 가지 주요 단계가 있습니다

  • 첫째, 자신의 창에 그릴 GDI 기능을 사용하는 방법을 배우게합니다. 이 범주의 일부 기능에는 PolyLine, LineTo 등이 있습니다.

  • 다음으로 프린터로 작업하십시오. 스크린에 그리는 것과 실제로 같은 개념입니다. 대신에 화면의 일부가 아닌 페이지의 일부분을 나타내는 HDC를 얻는 것 외에도 더 많은 설정과 정리가 필요합니다. 화면에 그림을 그릴 때 DC 창을 그릴 수 있고 끝내면 끝납니다. 페이지에 인쇄하는 것이 더 복잡합니다. 프린터를 선택하고, 문서를 시작하고, 페이지를 시작해야합니다.

나는 모든 설정/정리 단계를 다루고 있습니다. 한가지 주목해야 할 것은 비트 맵을 프린터로 보냅니다. 대신 StretchDIBits 전화를 자신의 PolyLine 등 전화로 바꿔야합니다.

+0

이 튜토리얼은 훌륭합니다. - 감사합니다! – Elmi

+1

예! - 그게 가치있는 일이라면,'startpage startdoc win32 example' 또는 그 비슷한 것을 검색하여 찾았습니다. 필자는 Win32에 익숙하여 필요한 핵심 기능을 알고 두 번째 일치로 나타났습니다. – BrendanMcK

0

이것은 매우 기본적인 GDI 기능입니다. MSDN에서 GDI line drawing functions을 살펴보십시오. 대부분의 언어와 환경에는 동일한 기능을 제공하는 GDI와 관련된 자체 래퍼가 있습니다.

관련 문제