Hi, How about defining clip regions for the parts that should be transparent, before calling Clear? However, I remember getting into issues doing something similar with Mono. It worked fine with .NET, though. See: https://bugzilla.novell.com/show_bug.cgi?id=492299
cs_eps wrote: > > Hello! > > I use the classic double buffering pattern for drawing a user control > avoiding flicker > 1) override the OnPaintBackground with an empty body > 2) in the OnPaint override draw all stuff (including the background) in a > buffer bitmap and draw it at the end with the graphics object in the event > args with eventArgs.Graphics.DrawImage. > > This works fine if the control has a solid color, but my control has a > transparent background. It is kind of a window on a video frame with some > overlay graphics. > > The problem is that DrawImage paints the new image on the old image > because of the transparent backgound. The only way to avoid this, is to > call eventArgs.Graphics.Clear(Color.Transparent) before calling the > DrawImage (could be done in OnDrawBackground)... but this flickers! > > So I need to copy rather than draw the image. Any idea on how to achieve > this? > -- View this message in context: http://mono.1490590.n4.nabble.com/Copy-rather-than-drawing-an-image-to-a-graphics-object-tp3175423p3175489.html Sent from the Mono - WinForms mailing list archive at Nabble.com. _______________________________________________ Mono-winforms-list maillist - [email protected] http://lists.ximian.com/mailman/listinfo/mono-winforms-list
