|
Transparent Bitmaps |
moon_rabbits
Member #8,469
March 2007
|
I have a bitmap that is created like this tank = create_bitmap(TANK_W, TANK_H); And drawn to with primitives: // draw tank to tank bitmap rectfill(tank, 10, 0, (TANK_W-10), TANK_H-(TANK_H/4), makecol(45, 200, 60)); rect(tank, 10, 0, (TANK_W-10), TANK_H-(TANK_H/4), makecol(60, 230, 70)); ellipsefill(tank, (TANK_W/2), TANK_H-(TANK_H/4), (TANK_W/2), (TANK_H/4), makecol(160, 160, 160)); ellipse(tank, (TANK_W/2), TANK_H-(TANK_H/4), (TANK_W/2), (TANK_H/4), makecol(120, 120, 120)); A background is blitted to the screen, and then this tank is blitted at it's (x,y) location on top of the background. It just makes a green recangle and grey wheels out of an ellipse. However, because the rectangle and ellipse do not cover the entire bitmap, there are still black areas on the bitmap that were not drawn on. How can I make these transparent, so that the background is displayed instead of the black, blank bitmap? |
CGamesPlay
Member #2,559
July 2002
|
The function you need is:masked_blitRead that for how to accomplish what you want. -- Ryan Patterson - <http://cgamesplay.com/> |
Matt Smith
Member #783
November 2000
|
Also, the first drawing primitive you'll need is clear_to_color(tank, bitmap_mask_color(tank)); because bitmaps are created with color 0, which is only transparent in 8 bit mode. |
ImLeftFooted
Member #3,935
October 2003
|
Maybe this thread deserves a wiki page? |
|