Click here to Skip to main content
12,063,445 members (76,030 online)
Rate this:
 
Please Sign up or sign in to vote.
See more: C++ graphics
Is it possible in C++ builder to use a monochrome bitmap as a transparency mask? I know builder has transparency feature, but I want some places to be more transparent than others.
Thank you, Daniel Smile | :)
Posted 18-May-10 1:41am
Edited 18-May-10 1:45am
Moak11.5K
v2

1 solution

Rate this: bad
 
good
Please Sign up or sign in to vote.

Solution 1

I'm not experienced on C++ builder, however transparency features are usually implemented basing on the underlying OS support.

Microsoft Windows could handle transparency in two ways:

    • thru GDI, by setting a specific RGB color as transparent. This way each pixel of the given color is treated as completely transparent and other pixels will be completely opaque
    • thru GDI+, by using images with a valid alpha channel. This ways each pixel has 4 bytes associated with it: the red, green, blue and alpha values. The alpha value of each pixel determine how that pixel is opaque: a value of 0 mean that the pixel is completely transparent and a value of 255 means that the pixel is completely opaque

Said that, you can use GDI+ to render a semi-transparent image, and if you want to use a gray-scale bitmap as transparency mask, you should first load your image on a GDI+ context, then modify each pixel to set their alpha value to the value of the correspondant pixel from the gray-scale bitmap.
  Permalink  

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)

  Print Answers RSS
Top Experts
Last 24hrsThis month


Advertise | Privacy | Mobile
Web01 | 2.8.160204.4 | Last Updated 19 May 2010
Copyright © CodeProject, 1999-2016
All Rights Reserved. Terms of Service
Layout: fixed | fluid

CodeProject, 503-250 Ferrand Drive Toronto Ontario, M3C 3G8 Canada +1 416-849-8900 x 100