• beyond tellerrand – play. Register Now!
Zurück   Flashforum > Flash > Stuff

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 02-06-2009, 17:15   #1 (permalink)
experience++;
 
Benutzerbild von salazar
 
Registriert seit: Jul 2002
Ort: Düsseldorf
Beiträge: 11.305
Post [stuff] bitmapData als JPG speichern. Flash Player 10

hi,
nur ganz kurz.
die FileReference klasse hat eine neue methode "save" dazu bekommen. damit ist es z.B. möglich ohne umwege direkt aus flash heraus ein bitmapData als JPG beim user auf dem Rechner zu speichern.
Find ich echt super, weil dass bisher immer nur über umwege wie z.B. mit PHP möglich war. deshalb ein kleines beispiel.
Das ganze passiert mit echt wenig code. ihr braucht nur die "Adobe ActionScript 3 Core Library" runterladen und mit in den projekt ordner werfen... damit könnt ihr dann aus bitmapData JPG, oder PNG dateien generieren.

hier die kleine beispiel klasse:
PHP-Code:
package {
    
    
import com.adobe.images.JPGEncoder;
    
import flash.display.BitmapData;
    
import flash.net.FileReference;
    
    public class 
SaveImage {

        private var 
jpgEncoder:JPGEncoder;

        private var 
fileReference:FileReference;
        
        public function 
SaveImage ():void {  }
        
        public function 
saveImageJPGbitmapData:BitmapDatafileName:Stringquality:int ):void {

            
this.jpgEncoder = new JPGEncoderquality );
            
this.fileReference = new FileReference();

            
this.fileReference.savethis.jpgEncoder.encodebitmapData ), fileName ".jpg" );

        }

    }
    

das ganze kann man dann einfach z.B. aus einer anderen klasse oder fla heraus wie folgt aufrufen/starten:
PHP-Code:
var saveImage:SaveImage = new SaveImage();
saveImage.saveImageJPGparam1param2param3 ); 
Zitat:
param1 = bitmapData, BitmapData
param2 = dateiname, String
param3 = jpg qualität, int
hier ein beispiel aufruf mit einem random perlinNoise bitmapData:
PHP-Code:
//erzeugt ein bitmapData
var bitmapData:BitmapData = new BitmapData400300false);
    
bitmapData.perlinNoise1001002Math.random() * 10000000falsefalse )  
    
//vorschau
var bitmap:Bitmap = new BitmapbitmapData );
addChildbitmap );

//speichern
var saveImage:SaveImage = new SaveImage();
    
saveImage.saveImageJPGbitmapData"deineDatei"80 ); 
ist nur ein kleines beispiel und der code ist nicht besonders toll...
soll auch nur kurz veranschaulichen wie einfach das geht

ein kleines beispiel zum testen gibts natürlich auch (Flash Player 10 vorausgesetzt):

FileReference.save Example

hoffe jemand kann was damit anfangen
cheers,
sal
__________________
Bitte keine Flashfragen an mich schicken. Dafür ist ja das Forum da! Das betrifft auch Profilnachrichten.
Chuck Norris hat den Flash Player für alle mobilen Betriebssysteme!

Geändert von salazar (03-06-2009 um 00:44 Uhr)
salazar ist offline   Mit Zitat antworten
Alt 03-06-2009, 00:59   #2 (permalink)
experience++;
 
Benutzerbild von salazar
 
Registriert seit: Jul 2002
Ort: Düsseldorf
Beiträge: 11.305
Post

hier nochmal die klasse mit der neuen methode "saveImagePNG":

PHP-Code:
package  {
    
    
import com.adobe.images.JPGEncoder;
    
import com.adobe.images.PNGEncoder;
    
import flash.display.BitmapData;
    
import flash.net.FileReference;
    
    public class 
SaveImage {

        private var 
jpgEncoder:JPGEncoder;

        private var 
fileReference:FileReference;
        
        public function 
SaveImage ():void {  }
        
        public function 
saveImageJPGbitmapData:BitmapDatafileName:Stringquality:int ):void {

            
this.jpgEncoder = new JPGEncoderquality );
            
this.fileReference = new FileReference();

            
this.fileReference.savethis.jpgEncoder.encodebitmapData ), fileName ".jpg" );

        }
        
        public function 
saveImagePNGbitmapData:BitmapDatafileName:String ):void {

            
this.fileReference = new FileReference();

            
this.fileReference.savePNGEncoder.encodebitmapData ), fileName ".png" );

        }

    }
    

und hier nochmal das bsp mit JPG save:
FileReference.save Example

cheers, sal
Angehängte Dateien
Dateityp: zip SaveImage.zip (457 Bytes, 139x aufgerufen)
__________________
Bitte keine Flashfragen an mich schicken. Dafür ist ja das Forum da! Das betrifft auch Profilnachrichten.
Chuck Norris hat den Flash Player für alle mobilen Betriebssysteme!
salazar ist offline   Mit Zitat antworten
Alt 30-06-2009, 19:09   #3 (permalink)
Neuer User
 
Registriert seit: Aug 2006
Beiträge: 68
hallo kann hier jemand ein beispiel fla machen????
hornmartin ist offline   Mit Zitat antworten
Alt 01-07-2009, 09:57   #4 (permalink)
experience++;
 
Benutzerbild von salazar
 
Registriert seit: Jul 2002
Ort: Düsseldorf
Beiträge: 11.305
Zitat:
Zitat von hornmartin Beitrag anzeigen
hallo kann hier jemand ein beispiel fla machen????
wozu?
ich hab doch weiter oben dazu geschrieben was man z.B. in eine fla mit reinschreiben muss damit das funktioniert...
machste also selber eine neue fla und kopierst den code da rein oder muss das unser einer für dich machen?!

cheers,
sal
__________________
Bitte keine Flashfragen an mich schicken. Dafür ist ja das Forum da! Das betrifft auch Profilnachrichten.
Chuck Norris hat den Flash Player für alle mobilen Betriebssysteme!
salazar ist offline   Mit Zitat antworten
Alt 13-07-2009, 10:28   #5 (permalink)
Neuer User
 
Registriert seit: May 2007
Beiträge: 36
Hallo!

Habe die Klasse eingebunden und wollte das ganze mal ausprobieren. Allerdings kommt bei mir folgender Fehler:

"1061: Aufruf für eine möglicherweise nicht definierte Methode save über einen Verweis mit statischem Typ flash.net:FileReference."

Ich arbeite mit Flex Builder3, kann es daran liegen, dass der nicht auf dem aktuellsten Stand des Flash Players ist? Wie kann ich den Flash Player10 integrieren?

LG
dingo
dingo777 ist offline   Mit Zitat antworten
Alt 13-07-2009, 10:37   #6 (permalink)
experience++;
 
Benutzerbild von salazar
 
Registriert seit: Jul 2002
Ort: Düsseldorf
Beiträge: 11.305
hi,
kenn mich mit dem flex builder nicht aus... aber du musst sicherstellen das du für den flashplayer 10 veröffentlichst... nicht für den neuner.
ich hab die flex sdk ver.: 3.3.0 verwendet...

cheers,
sal
__________________
Bitte keine Flashfragen an mich schicken. Dafür ist ja das Forum da! Das betrifft auch Profilnachrichten.
Chuck Norris hat den Flash Player für alle mobilen Betriebssysteme!
salazar ist offline   Mit Zitat antworten
Alt 13-07-2009, 10:53   #7 (permalink)
Neuer User
 
Registriert seit: May 2007
Beiträge: 36
hi!

danke habe nun auch rausgefunden wie ich das sdk aktualisieren konnte.
allerdings habe ich nun das problem, dass bei "addChild(bitmap)" (aus deinem beispiel) folgender fehler auftritt:
"TypeError: Error #1034: Typumwandlung fehlgeschlagen: flash.display::Bitmap@153ff31 kann nicht in mx.core.IUIComponent umgewandelt werden."

jemand ne lösung?

LG dingo
dingo777 ist offline   Mit Zitat antworten
Alt 13-07-2009, 10:57   #8 (permalink)
experience++;
 
Benutzerbild von salazar
 
Registriert seit: Jul 2002
Ort: Düsseldorf
Beiträge: 11.305
hi,
wie schaut denn die klasse aus in der du:
PHP-Code:
addChild(bitmap
schreibst?
die klasse muss ja ein sprite, movieclip oder displayObject extenden, sonst wird das nicht klappen....
bzw. lass das addChild halt weg, aber dann wirste das produzierte bild nicht sehen bis du es tatsächlich gespeichert hast

cheers,
sal
__________________
Bitte keine Flashfragen an mich schicken. Dafür ist ja das Forum da! Das betrifft auch Profilnachrichten.
Chuck Norris hat den Flash Player für alle mobilen Betriebssysteme!
salazar ist offline   Mit Zitat antworten
Alt 13-07-2009, 11:01   #9 (permalink)
Neuer User
 
Registriert seit: May 2007
Beiträge: 36
hab das "addchild(...)" einfach in einen funktion gepackt und rufe die mit einem button auf, habe dafür gar keine weitere klasse...
dingo777 ist offline   Mit Zitat antworten
Alt 13-07-2009, 11:05   #10 (permalink)
experience++;
 
Benutzerbild von salazar
 
Registriert seit: Jul 2002
Ort: Düsseldorf
Beiträge: 11.305
das addchild(...) ist dafür da, dass du eine vorschau vom bild bekommst. natürlich braucht addChild ein displayObject zum adden.. du willst das bitmap ja wohin adden... z.B. in ein sprite rein. wenn da nix ist zum adden dann klappt das einfach nicht.

cheers,
sal
__________________
Bitte keine Flashfragen an mich schicken. Dafür ist ja das Forum da! Das betrifft auch Profilnachrichten.
Chuck Norris hat den Flash Player für alle mobilen Betriebssysteme!
salazar ist offline   Mit Zitat antworten
Alt 13-07-2009, 11:13   #11 (permalink)
agedoubleju
Gast
 
Beiträge: n/a
Zitat:
dass bei "addChild(bitmap)" (aus deinem beispiel) folgender fehler auftritt:
"TypeError: Error #1034: Typumwandlung fehlgeschlagen: flash.display::Bitmap@153ff31 kann nicht in mx.core.IUIComponent umgewandelt werden."
Leg eine UIComponent an und adde in die statt auf die Bühne.
  Mit Zitat antworten
Alt 13-07-2009, 11:35   #12 (permalink)
Neuer User
 
Registriert seit: May 2007
Beiträge: 36
dann kommt "TypeError: Error #1034: Typumwandlung fehlgeschlagen: flash.display::Bitmap@1708ad9 kann nicht in mx.core.IUIComponent umgewandelt werden."

edit: anzeigen funktioniert jetzt - jetzt hab ich allerdings beim speichern ein problem:
"ReferenceError: Error #1069: Eigenschaft save für flash.net.FileReference nicht gefunden und es ist kein Standardwert vorhanden."

Habe die swf mit flashplayer 10 aufgerufen =/

Geändert von dingo777 (13-07-2009 um 11:41 Uhr)
dingo777 ist offline   Mit Zitat antworten
Alt 29-07-2009, 16:49   #13 (permalink)
experience++;
 
Benutzerbild von salazar
 
Registriert seit: Jul 2002
Ort: Düsseldorf
Beiträge: 11.305
hm.. geöffnet. aber haste die auch für den flashplayer 10 exportiert?!

cheers,
sal
__________________
Bitte keine Flashfragen an mich schicken. Dafür ist ja das Forum da! Das betrifft auch Profilnachrichten.
Chuck Norris hat den Flash Player für alle mobilen Betriebssysteme!
salazar ist offline   Mit Zitat antworten
Alt 02-03-2010, 08:21   #14 (permalink)
Neuer User
 
Registriert seit: Sep 2002
Ort: Düsseldorf
Beiträge: 9
Mal eine andere Frage: Kann man JPGs auch auf dem Webserver speichern?
Ramirez ist offline   Mit Zitat antworten
Alt 02-03-2010, 11:27   #15 (permalink)
agedoubleju
Gast
 
Beiträge: n/a
Darum geht es doch in diesem Beitrag.
  Mit Zitat antworten
Antwort

Lesezeichen

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind an
Pingbacks sind an
Refbacks sind an


LinkBacks (?)
LinkBack zu diesem Thema: http://www.flashforum.de/forum/stuff/stuff-bitmapdata-als-jpg-speichern-flash-player-10-a-271069.html
Erstellt von Für Art Datum Hits
Niklas Knaack: FileReference.save Example Dieses Thema Refback 23-08-2009 17:06 133
Niklas Knaack: 2009/06 - 2009/07 Dieses Thema Refback 21-08-2009 14:33 6


Alle Zeitangaben in WEZ +1. Es ist jetzt 04:36 Uhr.

Domains, Webhosting & Vserver von Host Europe
Unterstützt das Flashforum!
Adobe User Group


Copyright ©1999 – 2012 Marc Thiele