Am 20.12.2004 um 13:02 schrieb Stefan Sicurella:
Hi,
ich suche die Möglichkeit ein Bil din einem Canvas per Slider zu
vergrößern bzw. zu verkleinern.
Hat da jemand eine Idee oder ein Beispielprogramm/Klasse?
Gruß
Stefan
Hi Stefan!
Sehr verkürzt und aus altem Code herausgefischt könnte das so aussehen
Bau Dir eine Unterklasse von Canvas und füge die Eigenschaft zoomfactor
als double dazu, die einen Wert zw. 0 und 1 haben kann
Zum Zeichnen brauchst du dann nur noch im Paint-Event folgendes:
g.drawPicture
pic,Left,Top,pic.width*zoomfactor,pic.height*zoomfactor,0,0,pic.width,pi
c.height
Dein Slider sollte dann im ValueChanged-Event
meinEigenesCanvas.zoomfactor=me.value/100 // Slider hat als Max 100 ;)
meinEigenesCanvas.refresh // Bin mir nicht mehr sicher, ob das wirklich
muss, bei Windows-Versionen schadet es aber nie ;)
Wie gesagt sehr verkürzt (für alle, die jetzt mit Double-Buffering und
ähnlichem anfangen wollen) :)
Gruß
Torsten
|