Snelle tip gebruik AS3 om Exif-gegevens van een JPG-afbeelding te grijpen

Exif, of Verwisselbaar afbeeldingsbestandsformaat is een specificatie voor beeldformaten die worden gebruikt door digitale camera's en scanners. Het wordt ook gebruikt om metadata op te slaan, zoals cameramodel, type, auteur, etc. Leer om Exif-metadata in je applicatie weer te geven door dit Quick Tip te volgen.


Stap 1: Kort overzicht

We zullen een uitstekende bibliotheek gebruiken om de Exif-informatie van een JPG-bestand te laden en te parseren; de gegevens worden vervolgens weergegeven in een dynamisch tekstveld. U kunt de bibliotheek downloaden van de site van de ontwikkelaar.


Stap 2: Stel uw Flash-bestand in

Start Flash en maak een nieuw Flash-document, stel de stage-grootte in op 320x480 px en de framesnelheid op 24 fps.


Stap 3: Interface

Dit is de interface die we zullen gebruiken; niks speciaals, alleen een TextField in Stage genoemd infoTF. De afbeelding wordt dynamisch geladen met behulp van ActionScript.


Stap 4: ActionScript

Maak een nieuwe ActionScript-klasse (Cmd + N), sla het bestand op als Main.as en schrijf de volgende regels. Lees de opmerkingen in de code om het gedrag van de klas volledig te begrijpen.

 pakket import flash.display.Sprite; importeer jp.shichiseki.exif. *; import flash.events.Event; import flash.net.URLRequest; import flash.display.Loader; public class Main breidt Sprite uit / * Een exemplaar van de Exif Loader * / private var loader: ExifLoader = new ExifLoader (); public function Main (): void / * Laadt de afbeelding en voegt een listener toe om een ​​functie uit te voeren wanneer voltooid * / loader.addEventListener (Event.COMPLETE, onComplete); loader.load (nieuwe URLRequest ('img.jpg'));  private function onComplete (e: Event): void / * Voeg de afbeelding toe aan stage * / loader.scaleX = 0.08; // Schaal de originele afbeelding aangezien deze 4000 + px breed is loader.scaleY = 0.08; loader.x = 195; loader.y = 130; addChild (loader); / * Controleer de beschikbare exif-gegevens en geef deze weer * / if (loader.exif.ifds.primary) displayIFD (loader.exif.ifds.primary);  if (loader.exif.ifds.exif) displayIFD (loader.exif.ifds.exif);  if (loader.exif.ifds.gps) displayIFD (loader.exif.ifds.gps);  if (loader.exif.ifds.interoperability) displayIFD (loader.exif.ifds.interoperability);  if (loader.exif.ifds.thumbnail) displayIFD (loader.exif.ifds.thumbnail);  persoonlijke functie displayIFD (ifd: IFD): void / * Voegt de gelezen gegevens toe aan het tekstveld in fase * / for (var entry: String in ifd) infoTF.appendText (entry + ":" + ifd [entry] + '\ n'); 

Stap 5: Documentklasse

Vergeet niet om de klassenaam toe te voegen aan de Klasse veld in de Publiceren deel van de eigenschappen paneel.


Conclusie

Gebruik deze bibliotheek om toegang te krijgen tot de metagegevens in uw jpg-bestand. Vergeet niet dat sommige beeldbewerkers de gegevens verwijderen bij het comprimeren, in welk geval een fout door de speler wordt gegenereerd.

Ik hoop dat je deze Quick Tip leuk vond, bedankt voor het lezen!