[Flash 8] Vektorisieren/Nachzeichnen von PNG Bilder zur Laufzeit per AS?

Eisbaer

Erfahrenes Mitglied
Hallo,

eigentlich sagt der Titel schon alles aber nur zum besseren verständnis:

Ich lade mehrere Bilder in mehrere MC's, die Bilder sind alle im PNG Format. Besteht die möglichkeit das ich nach dem laden der Bilder per ActionScript diese vektorisieren/nachzeichnen lassen kann?


Danke & Gruss
 
Hallo,

in AS3 hast du ziemlich umfängliche Möglichkeiten, Bitmaps zu manipulieren, aber das Vektorisieren eines Bitmaps wäre wohl ziemlich aufwändig und nicht gerade performant. Wofür bräuchtest du die PNG's als Vektoren?

Gruss
 
Hi Luke,

also im Grunde geht es mir darum das ich zur Laufzeit PNG's in einen MC lade, die Bilder haben Transparente Bereiche und ich belege die MC's aber mit Release's, Over's etc. und da möchte ich das er die Transparenten Bereiche nicht als Schaltfläche sieht sondern wirklich nur das Sichtbare. Positive Ergebnisse habe ich bekommen als ich das Bild per Hand "Nachgezeichnet" habe, also auf Nachzeichnen geklickt habe. Deshalb dachte ich es wäre vielleicht ganz gut wenn er das selber zur Laufzeit macht. Oder gibt es für dieses Problem eine andere, bessere oder performantere Lösung?
 
Zuletzt bearbeitet:
Hallo,

da gibts schon ne Lösung. Die PNG werden ja als Bitmap-Objekte hinterlegt, welche über eine bitmapData-Objekt verfügen, welche die Rohdaten des Bitmaps repräsentieren. Wenn du nun onclick auf deinen Button mittels der Maus-Position und der getPixel32()-Methode der BitmapData-Klasse den jeweiligen Alpha-Wert des Pixels ausliest und abhängig davon einen benutzerdefinierten click-Event auslöst, sollte das den gewünschten Effekt haben. Genauere Informationen zu den oben genannten Klassen bzw. deren Methoden findest du in deiner Flashhilfe.

Gruss
 
Zuletzt bearbeitet:
Hi Luke,

erstmal danke, das wäre eine Möglichkeit. Nun liegen aber teilweise Bilder übereinander und die darunterliegenden sind nur sichtbar weil das vorige Bild ja die Transparenz hat, wenn ich nun den Alpha abfragen würde, bekomme ich ja den wert des Bildes was vor dem eigentlichen Bild liegt? Stimmt doch oder?

Wäre also wieder ein ähnliches Problem! Gibt es denn die Möglichkeit die Bilder on the fly nachzuzeichnen per AS? Da die Bilder alle nicht sehr groß sind und auch kaum Farbenreich denke ich das es relativ schnell gehen dürfte, wenn die Möglichkeit besteht ;)


Danke & Gruß
 
Nun liegen aber teilweise Bilder übereinander und die darunterliegenden sind nur sichtbar weil das vorige Bild ja die Transparenz hat, wenn ich nun den Alpha abfragen würde, bekomme ich ja den wert des Bildes was vor dem eigentlichen Bild liegt? Stimmt doch oder?

Jein, kommt ein wenig drauf an, wie du ermittelst, um welches Bild es sich handelt. Wenn die Tiefensortierung deiner Clips sich nicht ändert, könntest du ja ein Verfahren in der Art "Wenn es nicht der oberste Clip ist, dann überprüfen wir den nächsten" entwickeln, welches dir das oberste, am Klickpunkt nicht transparente Bild zurückgibt.

Wäre also wieder ein ähnliches Problem! Gibt es denn die Möglichkeit die Bilder on the fly nachzuzeichnen per AS? Da die Bilder alle nicht sehr groß sind und auch kaum Farbenreich denke ich das es relativ schnell gehen dürfte, wenn die Möglichkeit besteht
Du könntest sämtliche Pixel auslesen und in einer Schlaufe die Farbwerte und Positionen der Bilder auslesen und in eine Shape zeichnen.

Gruss
 
Hi Luke,

ich glaube beide Varianten sind ziemlich aufwendig, leider habe ich im momment keine Möglichkeit am Flash zu basteln da gestern Abend mein Neuer Rechner angekommen ist und direkt das Mainboard hinüber ist :( werde dir später mehr schreiben wenn ich wieder was machen kann...


Gruß & Danke

//Edit

Aber noch mal eine andere Frage, gibt es denn ein anderes Format welches ich einlesen kann was mir auch Transparenz erlaubt und gleichzeitig nicht den Effekt hat über Transparenten Bereichen?
 
Zuletzt bearbeitet:
Zurück