Zapisywanie obrazów w Flash CS3
Poniedziałek, 31 marca 2008 Flash CS3 z wykorzystaniem Bitmap jest tak udoskonalone, że chcesz po prostu stworzyć małe Paint. Mamy już mały jak Paint (patrz Tworzenie Paint in Flash CS3 Malarz: prosta aplikacja do rysowania w Flash Pro CS3) zdolnej do wspierania "anuluj" - skasować funkcję, dzięki konkretnego wykorzystania Warstwa Shape i Bitmap Mówimy, że teraz Flash (w odróżnieniu od "Flex") nie pozwalają na ich kodowania (typu JPG lub PNG) będzie automatycznie zapisywać obrazy Bitmap. Ale można obejść przeszkodę przy użyciu skryptów po stronie serwera i możliwość wysyłania danych do Flash w POST.
Teoria
W artifizio, że możemy użyć to: zapoznanie się z danymi zawartymi w Bitmap pixel na piksel, przekształcić je w szesnastkowym i wysłać je do po stronie PHP (w tym przykładzie wykorzystać PHP i GD Library, aby utworzyć rzeczywiście l ' obrazu, ale inne metody są równie skuteczne).
Teraz mówimy, że tylko neo tej techniki jest bardzo powolny, co najmniej z Bitmap wystarczająco duża (próbowałem z Bitmap 640 x 300)!
Ponadto, jak zobaczymy w ActionScript kodu, nie można kontrolować postęp transmisji, ale tylko w przypadku zakończenia wszystkich prac; ActionScript + PHP.
W PRAKTYCE
Wydał Bitmap do korzystania z algorytmu może być następująca:
- / **
- ** @ Prototyp: 0.0.1
- ** @ Autor: Undo = =
- ** @ E-mail: @ g.fazioli undolog.com
- ** @ Web: http://www.undolog.com
- **
- ** @ Parametry:
- **
- ** __bitmap: Wskaźnik do naszej bitmapy
- ** __width: Szerokość w pikselach
- ** __height: Wysokość w pikselach
- **
- * /
- / / Kopiuj do czytania - tego można uniknąć
- BitmapData ( __width, __height ) ; var sbmp: BitmapData = new BitmapData (__width, __height);
- __bitmap ) ; sbmp. remis (__bitmap);
- / /
- = new Array ( ) ; var pikseli: Array = new Array ();
- var xx:uint = 0 ; xx <= __width; xx++ ) { for (var xx: UINT = 0; xx <= __width; xx + +) (
- var yy:uint = 0 ; yy <= __height; yy++ ) { for (var yy: UINT = 0; rr <= __height; yy + +) (
- sbmp. getPixel32 ( xx, yy ) . toString ( 16 ) ) ; pikseli. push (sbmp. getPixel32 (xx, yy). toString (16));
- )
- )
- / /
- URLRequest ( "http://miodominio.com/savebitmap.php" ) ; var urlreq: URLRequest = new URLRequest ( "http://miodominio.com/savebitmap.php");
- URLVariables ( ) ; var urlpar: URLVariables = new URLVariables ();
- URLLoader ( ) ; var urlldr: URLLoader = new URLLoader ();
- / /
- Event. COMPLETE , urlldr. addEventListener (Event. COMPLETE
- e :Event ) : void { function (e: Event): void (
- ' Completato' ) ; trace ( "Gotowe");
- )
- );
- / /
- ( ) ; urlpar. pikseli = pikseli. toString ();
- urlpar. __height = wysokość;
- urlpar. __width = szerokość;
- urlreq. urlpar = data;
- ; urlreq. method = URLRequestMethod. POST;
- urlreq ) ; urlldr. obciążenia (urlreq);
Jak możemy użyć kodu PHP:
- / **
- ** @ Prototyp: 0.0.1
- ** @ Autor: Undo = =
- ** @ E-mail: @ g.fazioli undolog.com
- ** @ Web: http://www.undolog.com
- **
- ** @ Parametry:
- **
- ** __bitmap: Wskaźnik do naszej bitmapy
- ** __width: Szerokość w pikselach
- ** __height: Wysokość w pikselach
- **
- * /
- / / $ Pikseli staje się tablica z wartościami każdego piksela
- [ 'width' ] ; $ Width = $ _POST [ 'szerokość'];
- [ 'height' ] ; $ Height = $ _POST [ 'wysokość'];
- / / Utwórz obraz - @ unikaniu błędów problem
- $width , $height ) ; $ Image = @ imagecreatetruecolor ($ width, $ height);
- / / Napisz pikseli na całej długości i wysokości
- ; $ Indeks = 0;
- $x = 0 ; $x <= $width ; $x ++ ) { for ($ x = 0; $ x <= $ width, $ x + +) (
- $y = 0 ; $y <= $height ; $y ++ ) { for ($ y = 0; $ y <= $ height, $ y + +) (
- $image , $r , $g , $b ) ; $ Kolor = imagecolorallocate ($ image, $ r, $ g, $ b);
- , $x , $y , $color ) ; imagesetpixel ($ image, $ x, $ y, $ kolor);
- $ Index + +;
- )
- )
- / / Zapis obrazu (w JPG - ale można użyć innego formatu) na dysku / serwera
- , "immagine.jpg" ) ; imagejpeg ($ image, "image.jpg");
- ) ; // libero tutto imagedestroy ($ image); / / wszystkie wolne
Wracaj szybko na zaproponowanie innych rozwiązań ... ![]()
Referencje i webgrafia:
- http://www.actionscripts.org/forums/showthread.php3?p=420106
- http://www.quasimondo.com/archives/000645.php
- Eksport filmu z Flash do pliku obrazu za pomocą C # / ASP.NET i ActionScript's BitmapData


















werutzb powiedział:
Cześć!
Chciałbym lepiej się moje możliwości SQL.
Naprawdę czerwony SQL wielu książek i chciałby
Więcej informacji na temat SQL dla mojej pracy jako menedżera bazy danych MySQL.
Co mógłby Pan polecić?
Dzięki,
Werutz