Background Bitmap Resources

The Bootstrapper displays a wizard as a standard (MSI) installer will. The displayed background can be assembled of four bitmaps overlaying each other. Only draw the changes at each layer, what is best for compression and keeps the bootstrapper small. The bitmaps use a full featured alpha transparency. So you should provide 32bit bitmaps with alpha transparency for the overlay.

Layer stack:
  1. Dialog Background - Background.bmp
  2. Page Background - e.g. Welcome.bmp (sometimes it is better to provide a complete 24bit Bitmap, because it is smaller)
  3. Dialog Background localized - EN-Background.bmp, DE-Background.bmp
  4. Page background localized - e.g. EN-Welcome.bmp, DE-Welcome.bmp

Integration: Simply add this bitmaps to the embedded ZIP file.

Bootstrapper images for the welcome page of the Demo:
The transparency is black in this images:
Compressed size in ZIP: 4.057 Byte

Compressed size in ZIP: 55 KByte (due the complex mirroring, 41K without alpha channel)

Compressed size in ZIP: 4.532 Byte (this is needed for every additional language in the setup once)

Compressed size in ZIP: 2.252 Byte (this is needed for every additional setup per page)

Assembled Size: 4K (bitmap.bmp) 55K (Welckome.bmp) 4.5K (EN-Background.bmp) + 2.2K (En-Welcome.bmp) = 65,7K
Comparison with solid formats: 57K as PNG, 21K as JPG, 41K as ZIP compressed bitmap

In this scenario it wold be better to use a complete welcome.bmp 24Bit with about 41K and add the localized parts EN-Background.bmp (4.5K) and EN-Welcome.bmp (2.2K) to get a total size of 47,7K, but this is a demo how the layering works.

Localization of the setup project images in this case brings:
additional 4.5K for every new language on the localized XX-Background.bmp
additional 2.2K for every new language on the localized XX-Welcome.bmp

Localization of the bitmap with alpha layered overlays can save a lot of space in the embedded ZIP file.
Correctly optimized background images in zipped BMP Format can be even better than compressed PNG files.

Last edited Dec 5, 2008 at 11:37 AM by ThomasMaierhofer, version 6


No comments yet.