Printing graphics in hi-res - it can!

What started as a different topic, turned into a discussion about how to get bitmaps onto paper in high resolution. Thanks to several tips from other readers, I now understand how to do it. As others might benefit too, let me explain the procedure.

Bitmap pictures (*.bmp) are normally stored as a direct representation of the pixels on screen. Each pixel is represented by one (2, 16 or 256 colors), three (16 million colors, 24 bits) or four (32 bits color, 24 bits used) bytes in the file. This is called the RGB or raw bitmap. Bitmap pictures may be compressed also, then the Run-Length Encoding (RLE) compression method is used. Navision can read both types of bitmaps into a BLOB field and show these in a picturebox.

However when printed, the bitmap is still shown in the screenresolution, which is quite ugly.

Yet, it may come as a surpise, but Navision really is capable of using the much higher resolution of the printer. The only thing needed to know is the actual resolution of the bitmap.

Here comes a feature in that is hardly known: a bitmap can have its resolution set to a distict value! If you would look up the specification of bitmaps (www.wotsit.org for info on about any thinkable file format) you would see that up from offset 26 (hexadecimal) the actual size for horizontal and vertical resolution can be set. The calculation value is rather funny - its measured in pixels per meter... !

Unfortunately, most -if not all- graphic editing programs do not store this resolution setting into the bmp file.

But when you know the position in the file and the values to enter, you can do that yourself quite easily.

What you need is a hex-editor to modify files directly. A fine freeware editor, AXE, is available at www.kahei.com

Load the bmp file, put the cursor at byte 26 (hexadecimal) and enter 23 2e 00 00 23 2e 00 00 to set 300 dpi resolution, or enter 46 5c 00 00 46 5c 00 00 for 600 dpi.

Use a flexible graphics editor like Paint Shop Pro 6.0 to create the pictures, using the inches or cm setting to size the picture at the resolution intended. Save it as RLE compressed bmp (saves lots of space), then edit the resolution as described above.

Now when you print the picture, you will be surprised by its quality!

Thanks to all who gave the tips to assemble this info.

John
Related
Recommended