You make a mask of the character, which is another image of the same dimensions as your original. Where you want it to be transparent you make the mask black, and where you want your character to show through you make it white. You first blit the mask but only the white bit by using an AND raster operation (make the last parameter in your your call to BitBlt SrcAnd), then you blit your original image over that using SrcPaint, and it will only copy the image data over where the destination is white.