Elmi
Elmi

Reputation: 6203

Windows: print simple vector graphics - example?

I want to print some vector graphics (or to be more exact: nothing more than some polylines) using Windows API. Printing has to be done out of an own thread.

When I ask Google/MSDN for some code-snippets or examples I mainly find documentation how to print using some WindowsForms/.NET crap, but no WinAPI examples. Or I find a really huge example of XPS printing provided by MS which is very confusing and does much more than only sending some data to printer.

So my question: is there a simple example somewhere that demonstrates how to print out some stupid lines?

Upvotes: 2

Views: 1319

Answers (2)

BrendanMcK
BrendanMcK

Reputation: 14498

If you want to use the traditional GDI functions to do this, you have two main steps:

  • First, learn to use GDI functions to draw in your own window. Some functions in this category include PolyLine, LineTo - and so on.

  • Next, getting it to work with a printer. It's really the same concept as drawing to the screen, except you instead get a HDC that represents a portion of a page rather than a portion of screen - plus there's more setup and cleanup involved. When drawing on screen, you can just get the window DC, draw, and you're done; printing to a page is more involved - you have to select a printer, start a document, start a page, and so on.

I found this fairly decent tutuorial on Win32 GDI printing that might work for you - it covers all the setup/cleanup steps. One thing to watch for is that it sends a bitmap to the printer; instead you would want to replace the StretchDIBits call with your own PolyLine etc calls.

Upvotes: 3

Deanna
Deanna

Reputation: 24283

This is very basic GDI functionality. Have a look at the GDI line drawing functions in MSDN. Note that most languages and environments have their own wrappers around GDI that provide the same functionality.

Upvotes: 0

Related Questions