Well, I don't think icons were really meant to be stretched and resized too much - the developer would choose to use either small (16x16) or large (32x32) and simply size the image accordingly. Could see maybe deviating from this "standard" a little bit (+/- 10%) but then the icons start to look grainy and loose the standard Windows look-nd-feel. Bitmaps are a different story ...

It has always been stated (even with VB6) that one shouldn't use the compiler to as an imaging studio (tool) - that is to say - if one wants to change the appearance (size/effects/tone) of a bitmap, the developer should use free or commercially available software to do this ahead of time - and ship the revised bitmap in pretty much the state the he/she would render it in.

This is because Kixforms (or VB6 or anything like it) wasn't engineered to be on the same level as PhotoShop or the like. Im not an expert to be sure, but I think dedicated software like this is much, much more adept at compressing a bitmap then VB6 is - plus add to that the fact that one really wouldn't want to be doing this at "run time" anyways - it would just take up more time and cycles than are needed - why not just ship bitmap in its rendered state and size and be done with it. The size you would know ahead of time so you could properly construct it ahead of time.

As an example of all this - might want to check out how the KIX-LANDER script was built and shipped.