Printer?

BlitzPlus Forums/BlitzPlus Programming/Printer?

The forum is locked. These are the original blitzbasic.com forums, kept so they can still be read. No new topics, replies or edits can be made here. To join in, head over to the Blitz3D+ forums.

WillKoh,

In order to do "WordArt" like printing you will have to perform ALL effects to bitmap before printing, OR you will have to store all graphics information in vectors.

When you send an image or text to the printer, Windows performs a rasterization vectors (similar to drawing them in memory to a bitmap!) which changes the vectors to raster line information that your printer can understand and use for the output.

TrueType fonts are just a collection of filled in Bezier curves that look like alphanumeric characters. Because these curves can be scaled (just like vectors), the rasterized output is produced at the resolution of your printer and are very well formed (high resolution + anti-aliasing = no jaggies).

When you send bitmap information, scaling is performed in memory using bilinear scaling routines. This is not perfect but looks much better than directly scaling a 320x200 image to say 1024x768 (which definitely looks 'chunky').

These functions can be accessed through gdi32.dll, the problem is Blitz cannot access "CallBack" functions (which are what the printer routines are), because Blitz cannot pass or receive a null pointer.

Unless someone writes a DLL that accesses gdi32.dll printer functions, stick to the method Semar and White Eagle mentioned.

Regards,

Andy