drawing on wxDC with transparency

Christopher Bruno cbruno.linux at gmail.com
Thu May 8 08:34:20 PDT 2008


I solved this problem by using a wxMemoryDC to draw to a bitmap. First I set
the background colour to some odd colour that I will not use in my drawing
(the mask). Then I drew my picture with memDC to the bitmap, and then
converted the bitmap to a wxImage. I then wrote a function called
SetColourToAlpha(wxImage &, const wxColour & , int) that went through and
checked the colour at each pixel in the image. If the pixel RGB value
equaled the same as the mask colour, I set the alpha value to the int passed
at that pixel. Slow (w*h time), but it works. This will also help you get
translucency if you alpha value >  0. Remember to call InitAlpha() on the
wximage or it wont work

Your problem is that you set the alpha value for the image before you draw,
and never change it, so the parts you draw still cant be seen (they have
alpha 0). Set the alpha value after to draw to the parts you want
transparent. Hope that helps.

n! Labs

On Thu, May 8, 2008 at 9:25 AM, personaje <personaje at gmail.com> wrote:

> bump,
>
> any thoughts?
>
> On Wed, May 7, 2008 at 2:23 PM, personaje <personaje at gmail.com> wrote:
> > On Wed, May 7, 2008 at 2:16 PM, Robert Roebling <robert at roebling.de>
> wrote:
> >  >
> >  >  personaje wrote:
> >  >
> >  >  >    I want to draw on a  bitmap usign wxDC's primitives and keep
> >  >  > everything transparent except for the parts I draw on (using
> mainly
> >  >  > DrawPolygon, with a wxPen and wxTRANSPARENT_BRUSH).
> >  >  >
> >  >  >    I am getting a completely transparent bitmap. I read on the
> wxDC
> >  >  > help page the note about Transparency / Alpha channel for wxMAC.
> My
> >  >  > question is: All other platforms don't support transparency/alpha?
> >  >
> >  >  Consider using wxGraphicsContext,
> >
> >  is that because wxDC doesnt support what I am trying to do?
> >  I am worried that I am doing something wrong that won't work even with
> >  wxGraphicsContext
> >
> >  Regards.
> >
> _______________________________________________
> wx-users mailing list
> wx-users at lists.wxwidgets.org
> http://lists.wxwidgets.org/mailman/listinfo/wx-users
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.wxwidgets.org/pipermail/wx-users/attachments/20080508/d3b=
48e0c/attachment.htm


More information about the wx-users mailing list