Snabbtips Använd AS3 för att fånga exifdata från en JPG-bild

Exif eller Utbytbart bildfilformat är en specifikation för bildformat som används av digitalkameror och skannrar. Det används också för att lagra metadata som kameramodell, typ, författare etc. Lär dig att visa Exif-metadata i din ansökan genom att följa denna Snabba Tips.


Steg 1: Kortfattad översikt

Vi använder ett utmärkt bibliotek för att ladda och analysera Exif-informationen för en JPG-fil; data kommer då att visas i en Dynamic TextField. Du kan ladda ner biblioteket från utvecklarens webbplats.


Steg 2: Ställ in din Flash-fil

Starta Flash och skapa ett nytt Flash-dokument, sätt scenstorleken till 320x480px och bildhastigheten till 24fps.


Steg 3: Gränssnitt

Detta är gränssnittet vi ska använda; inget fancy, bara en TextField i scenen kallas infoTF. Bilden laddas dynamiskt med hjälp av ActionScript.


Steg 4: ActionScript

Skapa en ny ActionScript-klass (Cmd + N), spara filen som Main.as och skriv följande rader. Vänligen läs kommentarerna i koden för att förstå klassens beteende.

 paket import flash.display.Sprite; importera jp.shichiseki.exif. *; importera flash.events.Event; importera flash.net.URLRequest; importera flash.display.Loader; public class Main utökar Sprite / * En instans av Exif Loader * / privat var loader: ExifLoader = new ExifLoader (); allmän funktion Main (): void / * Laddar bilden och lägger till en lyssnare för att köra en funktion när fullständig * / loader.addEventListener (Event.COMPLETE, onComplete); loader.load (ny URLRequest ('img.jpg'));  privat funktion onComplete (e: Event): void / * Lägg till bilden till scenen * / loader.scaleX = 0.08; // Skala originalbilden som den är 4000 + px bred loader.scaleY = 0.08; loader.x = 195; loader.y = 130; addChild (loader); / * Kontrollera tillgängliga exifdata och visa den * / if (loader.exif.ifds.primary) displayIFD (loader.exif.ifds.primary);  om (loader.exif.ifds.exif) displayIFD (loader.exif.ifds.exif);  om (loader.exif.ifds.gps) displayIFD (loader.exif.ifds.gps);  om (loader.exif.ifds.interoperability) displayIFD (loader.exif.ifds.interoperability);  om (loader.exif.ifds.thumbnail) displayIFD (loader.exif.ifds.thumbnail);  Private Function DisplayIFD (ifd: IFD): void / * Lägger läsdata till textfältet i steg * / för (var post: String in ifd) infoTF.appendText (entry + ":" + ifd [entry] + '\ n'); 

Steg 5: Dokumentklass

Kom ihåg att lägga till klassnamnet till Klass fält i Publicera del av Egenskaper panel.


Slutsats

Använd det här biblioteket för att komma åt metadata i din jpg-fil. Kom ihåg att vissa bildredigerare tar bort data vid komprimering, i vilket fall ett fel kommer att kastas av spelaren.

Jag hoppas att du gillade den här snabba tipsen, tack för att du läste!