Willkommen auf dem Portal für Mediengestalter
|
|
Autor |
Nachricht |
Kyuugo
Threadersteller
Dabei seit: 30.01.2006
Ort: Moenchengladbach
Alter: 39
Geschlecht:
|
Verfasst Mi 09.01.2008 17:17
Titel BitmapData Klasse und loadmovie |
|
|
Hallo Leute,
mich beschäftigt seit geraumer Zeit ein Problem, dessen Lösung ich mitlerweile schon ziemlich anzweifle.
Es geht um die BitmapData Klasse mit dessen Hilfe ich einen Screenshot von der aktuellen swf machen will bzw. von einem Movieclip innerhalb der swf.
Es ist ja eine feine Sache, die jedoch anscheinen nur funktioniert, wenn keine Daten(Bilder) in die swf geladen werden die extern liegen und somit nicht in der Bibliothek vorhanden sind.(per loadmovie)
Ich bastele zZ an einer Anwendung, wo verschiedene Bilder mittels attachMovie auf die Bühne gebracht werden können.
Vom MovieClip in den diese platziert werden kann man per Knopfdruck einen Screenshot machen, was auch wunderbar funktioniert.
Nun will ich aber auch externe Bilder mittels upload-funtion in diesen Mc laden, was auch funktioniert, jedoch wird dann statt einem Screenshot nur ein Bild mit weißen Pixeln dargestellt.
Das komische ist ja, dass die Bitmapdata Klasse mit flv's funktioniert, die in den flv player geladen werden von dem dann ein Screenshot gemacht wird. Diese liegen doch auch extern und werden geladen.
Warum ist das so?
Hat jemand schon Erfahrungen mit der Bitmapdata Klasse bzw. einem Screenshot-Script gemacht und das gleiche Problem festgestellt?
Weiß jemand vielleicht Rat, wie ich trotz loadMovie funktion mit der BitmapData klasse arbeiten kann?
Oder gibt es ein upload-script das irgendwie anders arbeitet und zusammen mit der bitmapdata klasse funktioniert?
Schönen Gruß
Kyu
|
|
|
|
|
l'Audiophile
Dabei seit: 16.09.2004
Ort: Berlin
Alter: 43
Geschlecht:
|
Verfasst Mi 09.01.2008 17:31
Titel
|
|
|
Klingt schwer nach Laufzeitproblem – AS 2?
Zuletzt bearbeitet von l'Audiophile am Mi 09.01.2008 17:31, insgesamt 1-mal bearbeitet
|
|
|
|
|
Anzeige
|
|
|
Kyuugo
Threadersteller
Dabei seit: 30.01.2006
Ort: Moenchengladbach
Alter: 39
Geschlecht:
|
Verfasst Mi 09.01.2008 20:07
Titel
|
|
|
Hey Pejot,
Ja ich arbeite mit Flash 8 und AS2.
Gruß
Kyu
|
|
|
|
|
Kyuugo
Threadersteller
Dabei seit: 30.01.2006
Ort: Moenchengladbach
Alter: 39
Geschlecht:
|
Verfasst Do 10.01.2008 12:44
Titel
|
|
|
Ich bins nochmal
Also ich hab nun noch etwas rumprobiert ganz nach trial&error und bin nun soweit, dass auch screenshots gemacht werden, wenn ein eigenes Bild hochgeladen wurde. BitmapData und loadmovie vertragen sich wirklich nicht. Ich hab jetzt mit MovieClipLoader und onLoadInit gearbeitet und damit klappt es tadellos.
Nur noch ein Problem beschäftigt mich und zwar will ich natürlich auch, dass man mehrere Bilder hochladen kann und dann das alte nicht durch das neue ersetzt wird sondern beide auf der Bühne platziert werden.
Hier mal das Script:
Code: |
import flash.geom.Matrix;
import flash.display.BitmapData;
import flash.net.FileReference;
////UPLOAD SCRIPT
listener_upload = new Object();
listener_upload.onSelect = function(selectedFile:FileReference):Void {
statusArea.text = details.text="";
statusArea.text += selectedFile.name+" wird hochgeladen"+"\n";
selectedFile.upload("upload.php");
};
listener_upload.onOpen = function(selectedFile:FileReference):Void {
statusArea.text += "Uploading "+selectedFile.name+"\n";
};
listener_upload.onHTTPError = function(file:FileReference, httpError:Number):Void {
texterror.text = "error";
texterror.text = "HTTPError number: "+httpError+"\nFile: "+file.name;
};
listener_upload.onIOError = function(file:FileReference):Void {
texterror.text = "error";
texterror.text = "IOError: "+file.name;
};
listener_upload.onSecurityError = function(file:FileReference, errorString:String):Void {
texterror.text;
texterror.text = "SecurityError: "+SecurityError+"\nFile: "+file.name;
};
listener_upload.onComplete = function(selectedFile:FileReference):Void {
statusArea.text = "Bild hochgeladen. \n"+selectedFile.name+" wird runtergeladen\n";
details.text = "";
downloadImage(selectedFile.name);
};
var imageFile:FileReference = new FileReference();
imageFile.addListener(listener_upload);
uploadBtn.onPress = uploadBild;
_root.addEventListener("complete", BildDownloaded);
function uploadBild(event:Object):Void {
imageFile.browse([{description:"Image Files", extension:"*.jpg;*.gif;*.png"}]);
}
function BildDownloaded(event:Object):Void {
if (event.total == -1) {
statusArea.text = "error";
}
}
function downloadImage(file:Object):Void {
var mcl:MovieClipLoader = new MovieClipLoader();
var mcl_lsn:Object = new Object();
tl = _root.karte;
mcl_lsn.onLoadInit = function(targ:MovieClip) {
copy_bmpd = new BitmapData(_root.karte.targ._width, _root.karte.targ._height, true, 0x000000);
copy_bmpd.draw(_root.karte.container_mc);
tl.createEmptyMovieClip("bmpHolderMC", depth());
tl.bmpHolderMC.attachBitmap(copy_bmpd, depth());
};
mcl.addListener(mcl_lsn);
mcl.loadClip("uploadedFiles/" + file, _root.karte.copy_mc);
}
//SCREENSHOT SCRIPT
print_btn.onRelease = function() {
snapshot = new BitmapData(Stage.width, Stage.height);
snapshot.draw(_root, new Matrix());
var t:MovieClip = _root.karte.createEmptyMovieClip("bitmap_mc", 1);
t._x = 50;
t._y = 50;
t._xscale = t._yscale=50;
t.attachBitmap(snapshot, 1);
};
|
Ich denke bei der downloadImage-Funktion müsste noch etwas verändert werden, damit dies klappt, aber ich hab echt keine Ahnung wo
Könnt ihr mir nen Tipp geben wie ich das hinbekomme?
Schönen Gruß
Kyu
Zuletzt bearbeitet von Kyuugo am Do 10.01.2008 12:45, insgesamt 1-mal bearbeitet
|
|
|
|
|
|
|
|
Ähnliche Themen |
[AS3] - BitmapData verbinden
frage zu loadMovie...
[flash] loadmovie swf
Wie verwende ich loadmovie?
loadMovie - unloadMovie Problem
[Flash AS2] loadmovie problem
|
|
|
Du kannst keine Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum nicht antworten. Du kannst an Umfragen in diesem Forum nicht mitmachen.
|
|