Thanks for your answer. 1) I'm not sure how that would work... Not saying it's not possible or anything, I just have no idea. By the way, the size and the color of the rectangle can vary, and it can also be semi-transparent (in case that's a problem). 2) How would you do this, technically? Because the only solution that comes to my mind is to clone a little part of my Bitmap to create the temporary copy... and making a sub-sized clone of a Bitmap is actually much slower than making a full clone. So it'd be actually slower than my current implementation.
Andreas Nahr wrote: > > What you are doing is very inefficient. > Two ideas: > 1) Don't directly draw onto the image if you are only want so show > something > to the user and not really want to manipulate the image. You could easily > use a rectangle control and show that above the image control. > 2) Before you paint the rectangle copy the overpainted area into a > temporary > image. Then draw the rectangle. To (re)move the rectangle copy the data > back > from the temporary image (do not copy the entire image or create a new > one) > > Andreas > > -----Ursprüngliche Nachricht----- > Von: mono-devel-list-boun...@lists.ximian.com > [mailto:mono-devel-list-boun...@lists.ximian.com] Im Auftrag von Stifu > Gesendet: Dienstag, 31. März 2009 10:10 > An: mono-devel-list@lists.ximian.com > Betreff: [Mono-dev] Bitmap manipulation - am I doing it right? > > > Hello, > > I have an application that displays graphics, stored in a Bitmap. > When you hover the concerned Panel, a square shows what tile you're > currently highlighting. So if you move your cursor, the square moves too. > > What I'm doing is, each time I repaint my Panel, clone the Bitmap then > draw > the rectangle (square) on it. If I didn't clone it first and worked > directly > with the original Bitmap, then the squares would never go away, and keep > on > multiplying as you move your cursor over the Panel. > So I'm just wondering: is cloning the right thing to do here? Or is there > a > better / more efficient way to achieve the same results, like some kind of > temporary modifications to a Bitmap or whatever? (I'm using double > buffering, so everything has to be on the same Bitmap) > > I already implemented clipping to improve performances, but I wanted to > know > if there was anything else I could do... Thanks. > -- > View this message in context: > http://www.nabble.com/Bitmap-manipulation---am-I-doing-it-right--tp22800298p > 22800298.html > Sent from the Mono - Dev mailing list archive at Nabble.com. > > _______________________________________________ > Mono-devel-list mailing list > Mono-devel-list@lists.ximian.com > http://lists.ximian.com/mailman/listinfo/mono-devel-list > > _______________________________________________ > Mono-devel-list mailing list > Mono-devel-list@lists.ximian.com > http://lists.ximian.com/mailman/listinfo/mono-devel-list > > -- View this message in context: http://www.nabble.com/Bitmap-manipulation---am-I-doing-it-right--tp22800298p22813327.html Sent from the Mono - Dev mailing list archive at Nabble.com. _______________________________________________ Mono-devel-list mailing list Mono-devel-list@lists.ximian.com http://lists.ximian.com/mailman/listinfo/mono-devel-list