Ich lade Bild zu steuern, als ich einige Effekte anwende, und wenn ich Bild speichere, wird es ohne Effekte gespeichert. Was soll ich machen? HierFlex: Speichern von mx: Bild mit angewendeten Effekten
ist der Code:
private var byteArr2:ByteArray;
private var fileRef:FileReference = new FileReference();
public function process():void
{
var ct:ColorTransform = new ColorTransform();
ct.redOffset = 99;
ct.blueOffset = 11;
ct.greenOffset = 22;
currImg.transform.colorTransform = ct;
callLater(toByteArray);
}
public function toByteArray():void
{
var data:BitmapData = new BitmapData(currImg.width, currImg.width);
data.draw(currImg);
var encod:JPEGEncoder = new JPEGEncoder(100);
byteArr2 = encod.encode(data);
}
public function saveFile():void
{
fileRef.save(byteArr2,"NewFileName1.jpg");
}
<mx:HBox>
<mx:VBox>
<s:Button x="69" y="98" label="open" click="open()()"/>
<s:Button label="show" click="show()"/>
<s:Button label="process" click="process()"/>
<s:Button label="save" click="saveFile()"/>
</mx:VBox>
<mx:Image id="currImg" width="200" height="300"/>
</mx:HBox>
UPDATE neues Problem erscheint als ich var data:BitmapData = new BitmapData(currImg.width, currImg.width);
gespeicherte Bild bin mit klein (Größe wie Bildkontrolle), aber ich brauche Bild speichern mit Originalgröße. Mit var data:BitmapData = Bitmap(currImg.content).bitmapData;
hat es funktioniert
+ Gut formulierte Frage und ein gutes Codebeispiel. Leider habe ich keine Antwort für dich. – JeffryHouser