[Mono-list] DrawingArea, DrawPixbuf, is slow?

Peter Dennis Bartok peter at novonyx.com
Sun May 22 16:43:27 EDT 2005


>>  and you're drawing everything
>> scaled up? Why not just use a transformation that scales the surface? 
>> That
>> way you keep the surface the same size, System.Drawing just draws it
>> 'bigger'.
>
>im using that!...
>
>z.DrawPixbuf(new Gdk.GC (z), pix.ScaleSimple( (int) Zoomvalue*pix.Width,
>(int) Zoomvalue*pix.Height, InterpType.Nearest),
>                          0, 0, 0,0, -1,
> -1,Gdk.RgbDither.Normal,  0,  0);
>
>is that what you ment?
Actually, no, I didn't realize you were talking about Gtk#. The 'pixbuf' 
should have tipped me off . I was under the (apparently wrong) impression 
that you were using System.Drawing, where you have Graphics.ScaleTransform 
to scale your drawings.  You still draw regularily, your surface size stays 
the same, but the coordinates you use to do the drawing will be transformed 
(scaled). Using that, in conjunction with TranslateTransform to shift the 
origin, you can scale and move contents without ever increasing your surface 
size. It simply will not draw the stuff outsize the surface.

Maybe there's something similar in Gtk#?

Cheers,
  Peter 



More information about the Mono-list mailing list