Bildskalierung per ActionScript (AS2)
/ Autor: Alexander, 27 Jun 2008Sobald ein Bild per Skript skaliert wird hat Flash ein großes Problem dieses Bild sauber darzustellen. Es entstehen Fragmente und unsaubere Bildstörungen. Ein Variante wäre das Bild in zwei Zuständen (groß, klein) zu laden und am Ende des Tweenvorganges per ActionScript auszutauschen. Jedoch ergeben sich hieraus die Probleme, dass zum einen zwei Bilder geladen werden müssen und zum anderen das Bild während des Tweens unansehnlich wird. Diese beiden Probleme lassen sich mit einer Scriptvariante lösen.
Dazu wird das Bild zunächst einmal geladen und in einem MovieClip zwischengelagert. Dieses Bild wird als Parameter an eine Funktion übergeben, die zunächst in leeres Rechteck, in der Größe des Bildes, erzeugt. Des weiteren wird das Bild als BitmapData umgerechnet. Diese Daten lässen sich über die draw-Methode in das erzeugte Rechteck legen. Somit dient das BitmapData als Füllung für das Rechteck und verhält sich somit wie zum Beispiel ein gezeichnetes Bild mit einem Verlauf. Der MovieClip mit geladenen Bild kann nun gelöscht werden, da diese Daten nicht mehr nötigt werden. Das entstandene BitmapData-Bild lässt sich nun sauber per Script skalieren und die oben beschiebenen Fragmente sind nicht mehr vorhanden.


28 Sep 2009
Hey,
faszinierend, was du alles so weißt, nur schade, dass du das iwie nicht teilen möchtest, denn ich sehe bei keinem deiner Artikel ein Tutorial und/oder Code. Bin ich zu doof oder ist das Absicht?
Gruß
Lars
12 Okt 2009
Hallo Lars
Keinen Code ist schon etwas zu weit gehend. Aber wenn du z.B. den obrigen Artikel genau ließt, ergibt sich der Code von selbst. Es ist halt kein copy-&-paste-Artikel, aber nach ein wenig nachdenken, funktioniert das alles schon. Und so bleibt auch mehr davon haften, wenn man es später nochmals braucht.
Alex