[Mono-dev] Bitmap manipulation - am I doing it right?

Stifu stifu at free.fr
Wed Apr 1 02:08:02 EDT 2009


How would that layer on top work, technically?
Because if it's not part of the same Bitmap (the only painted on the Panel)
and I that I need to paint twice, then there's some flickering happening.
Hence the need for double buffering.


StApostol wrote:
> 
> Does GDI+ support alpha blending? If so, why don't you just draw a  
> translucent (say alpha = 128) layer on top of the selected region? You  
> could also fake this with additive or multiplicative blending, but the  
> result will look worse.
> 
> 
> 
> Την Wed, 01 Apr 2009 00:11:37 +0300,ο(η) Stifu <stifu at free.fr> έγραψε:
> 
>>
>> 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-bounces at lists.ximian.com
>>> [mailto:mono-devel-list-bounces at lists.ximian.com] Im Auftrag von Stifu
>>> Gesendet: Dienstag, 31. März 2009 10:10
>>> An: mono-devel-list at 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 at lists.ximian.com
>>> http://lists.ximian.com/mailman/listinfo/mono-devel-list
>>>
>>> _______________________________________________
>>> Mono-devel-list mailing list
>>> Mono-devel-list at lists.ximian.com
>>> http://lists.ximian.com/mailman/listinfo/mono-devel-list
>>>
>>>
>>
> 
> 
> 
> -- 
> Χρησιμοποιώ το επαναστατικό πρόγραμμα αλληλογραφίας της Opera:  
> http://www.opera.com/mail/
> _______________________________________________
> Mono-devel-list mailing list
> Mono-devel-list at 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--tp22800298p22820348.html
Sent from the Mono - Dev mailing list archive at Nabble.com.



More information about the Mono-devel-list mailing list