> Is anyone here on the list, who has some pieces of stretching -code
> lieing around?

Guck mal in alten LibGGI Versionen (richtig alten) - CrossBlit konnte IIRC
mal stretchen.

Die Idee ist normalerweise (fuer schnell aber nicht so toll in der Qualitaet) 
schlicht Bresenham, wie beim Linienzeichnen zu verwenden.

Also in etwa sowas wie

akku=0;
while(!Zeilenende) {
        while (akku>=0) {
                farbe=getfarbe(src,xsrc++,ysrc);
                akku-=widthtarget;
        }
        while (akku<0) {
                putpixel(target,xdest++,ydest,farbe)
                akku+=widthsource;
        }
}

Außenrum dann nochmal das gleiche mit y.

"Richtig gut" ist schwieriger - dazu mußt Du berechnen zu wieviel % einzelne
Source-Pixel auf dem destination-Pixel landen wuerden - das macht dann das
Antialiasing, so daß es besser aussieht. Sprich wenn Du nen weißen Strich
auf die doppelte Größe skalierst, kriegt der dabei zwei graue Ränder, so daß
das ergebnis nicht so "kantig" aussieht.

CU, ANdy

-- 
= Andreas Beck                    |  Email :  <[EMAIL PROTECTED]>        =

Reply via email to