Lagring af billeder i Flash CS3
Mandag 31 marts, 2008 Med Flash CS3 bruger Bitmap er så forbedret, at du bare ønsker at skabe en lille Paint. Vi har allerede set, hvordan en lille Paint (se Opret en Paint i Flash CS3 Maler: simple ansøgning om tegning i Flash CS3 Pro) kan bære en "annullere" - slette-funktion, takket være en særlig anvendelse af lag Shape og Bitmap Vi siger nu, at Flash (i modsætning til Flex) ikke giver dem mulighed for kodning (type JPG eller PNG) vil automatisk gemme billeder Bitmap. Men du kan arbejde omkring forhindringen ved hjælp af en server-side scripting og evnen til at sende data til Flash i POST.
Teorien
Den artifizio at vi kan bruge er: læse data, der er indeholdt i en bitmap pixel for pixel, omdanne dem i hexadecimal og sende dem på for at skrive en PHP side (i dette eksempel udnytte PHP og GD Library at skabe faktisk l ' billede, men andre metoder er lige så effektive).
Vi siger nu, at den eneste neo af denne teknik er meget langsom, i hvert fald store nok Bitmap (Jeg forsøgte med en Bitmap 640 x 300)!
Desuden, som du vil se i Actionscript kode, du kan ikke styre udviklingen i transmission, men kun få tilfælde af færdiggørelse af arbejdet; Actionscript + PHP.
DEN PRAKSIS
Da en Bitmap at bruge algoritme kan være som følger:
- / **
- ** @ Prototype: 0.0.1
- ** @ Forfatter: fortryde = =
- ** @ E-mail: @ g.fazioli undolog.com
- ** @ Web: http://www.undolog.com
- **
- ** @ Parametre:
- **
- ** __bitmap: Pointer til vores bitmap
- ** __width: Bredde i pixels
- ** __height: Højde i pixels
- **
- * /
- / / Kopiér til læsning - dette kunne være undgået
- BitmapData ( __width, __height ) ; var sbmp: BitmapData = new BitmapData (__width, __height);
- __bitmap ) ; sbmp. henlede (__bitmap);
- / /
- = new Array ( ) ; var pixel: 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 åå: UINT = 0; yy <= __height; åå + +) (
- sbmp. getPixel32 ( xx, yy ) . toString ( 16 ) ) ; pixel. 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 { funktion (e: Event): void (
- ' Completato' ) ; trace ( 'Udført');
- )
- );
- / /
- ( ) ; urlpar. pixels = pixels. toString ();
- urlpar. __height = højde;
- urlpar. __width = bredde;
- urlreq. urlpar = dato;
- ; urlreq. metode = URLRequestMethod. POST;
- urlreq ) ; urlldr. belastning (urlreq);
Hvordan kan vi bruge PHP kode:
- / **
- ** @ Prototype: 0.0.1
- ** @ Forfatter: fortryde = =
- ** @ E-mail: @ g.fazioli undolog.com
- ** @ Web: http://www.undolog.com
- **
- ** @ Parametre:
- **
- ** __bitmap: Pointer til vores bitmap
- ** __width: Bredde i pixels
- ** __height: Højde i pixels
- **
- * /
- / / $ Pixels bliver et array med værdier for hver pixel
- [ 'width' ] ; $ Bredde = $ _POST [ 'bredde'];
- [ 'height' ] ; $ Height = $ _POST [ 'højde'];
- / / Opret billedet - @ undgå fejltagelser spørgsmål
- $width , $height ) ; $ Image = @ imagecreatetruecolor ($ bredde, $ højde);
- / / Skriv pixels for hele længde og højde
- ; $ Index = 0;
- $x = 0 ; $x <= $width ; $x ++ ) { for ($ x = 0; $ x <= $ bredde; $ x + +) (
- $y = 0 ; $y <= $height ; $y ++ ) { for ($ y = 0; $ y <= $ højde; $ y + +) (
- $image , $r , $g , $b ) ; $ Color = imagecolorallocate ($ image, $ r, $ g, $ b);
- , $x , $y , $color ) ; imagesetpixel ($ image, $ x, $ y, $ color);
- $ Indeks + +;
- )
- )
- / / Write billede (i JPG - men du kan bruge et andet format) på disken / server
- , "immagine.jpg" ) ; imagejpeg ($ image, "Billede.jpg");
- ) ; // libero tutto imagedestroy ($ image); / / fri alle
Kom tilbage om kort tid foreslå andre løsninger ... ![]()
Referencer og webgrafia:
- http://www.actionscripts.org/forums/showthread.php3?p=420106
- http://www.quasimondo.com/archives/000645.php
- Eksportere et filmklip fra Flash til en billedfil ved hjælp af C # / ASP.NET og ActionScript's BitmapData





















werutzb sagde:
Hej!
Jeg vil gerne have bedre gøre mit SQL kapaciteter.
Jeg virkelig rød SQL mange bøger og vil gerne
Læs mere om SQL til mit erhverv som MySQL-database manager.
Hvad ville du anbefale?
Tak,
Werutz