Ich habe eine Flash/Actionscript 3-basierte Desktop-App in eine * .exe mit Zink 4.0 gewickelt. Ich verwende Flash Pro CS5.So speichern Sie BitmapData in Bitmap * .bmp-Datei oder viel schneller JPE Encoding-Methode
Ich muss beginnen, sehr große Bilddateien lokal zu speichern. Ich habe mit JPG-Encoding diese Bilder durcheinandergebracht, bevor Sie sie über Zink in einer lokalen Datei speichern. Ich habe das Problem mit der Aktion cirpt timeout unter Verwendung von This "asyncronous like" method gelöst. Die Kodierung eines 1,5-MP-Bildes dauert ungefähr 5 Sekunden, was in Ordnung ist, aber das Kodieren einer 8-MP-Bilddatei dauert ungefähr 40 Sekunden, was nicht akzeptabel ist.
Eine Idee war, die BitmapData lokal in einer temporären Bitmap-Datei (* .bmp) zu speichern, ohne dass der Endbenutzer auf JPG Encoding in Flash warten musste, und dann meinen bereits vorhandenen Image-Prozessor (in C# geschrieben)) um die Bitmap-Datei zu lesen und zu codieren, ohne auf Flash zu warten, um die Aufgabe effektiv vom Benutzer zu entfernen.
Ich habe BitmapData.getPixels() verwendet, um zu versuchen, das Bytearray direkt in die Datei zu schreiben, mit der gleichen Zinc-Methode wie ich erfolgreich mit codierten JPGs, aber die * .bmp-Datei ist nicht lesbar. Gibt es einige Dateiheader, die zusätzlich zum Bytearray von BitmapData getPixel() hinzugefügt werden müssen, um ein Bitmapbild erfolgreich zu speichern? Wenn ja, wie könnte ich sie erfolgreich zum Bytearray hinzufügen, bevor ich in die Datei schreibe?
Jede Anleitung, Klärung oder andere Lösungen sehr geschätzt.
Ich denke, dieser Link könnte Ihnen helfen: http://www.senocular.com/flash/actionscript/?file=ActionScript_3.0/com/senocular/images/BMPEncoder.as – Engineer
können Sie Auch wenn Sie eine native Erweiterung schreiben und die Bitmap-Daten direkt an C# – francis
übergeben möchten, wenn Sie die as3corelib für den 'JPEGEncoder' verwenden, sollten Sie stattdessen' PNGEncoder' verwenden - ich habe es viel schneller gefunden. Der 'JPEGEncoder' wird ironischerweise in der Qualitätseinstellung steckengeblieben – divillysausages