Suggerimento rapido usa AS3 per acquisire dati Exif da un'immagine JPG

Exif, o Formato file immagine intercambiabile è una specifica per i formati di immagine utilizzati da fotocamere digitali e scanner. Viene anche utilizzato per memorizzare metadati come modello di fotocamera, tipo, autore ecc. Imparare a visualizzare i metadati Exif nell'applicazione seguendo questo suggerimento rapido.


Passaggio 1: breve panoramica

Useremo un'eccellente libreria per caricare e analizzare le informazioni Exif di un file JPG; i dati verranno quindi visualizzati in un campo di testo dinamico. Puoi scaricare la libreria dal sito dello sviluppatore.


Passaggio 2: impostare il file Flash

Avvia Flash e crea un nuovo documento Flash, imposta le dimensioni dello stage su 320x480px e la frequenza fotogrammi su 24 fps.


Passaggio 3: interfaccia

Questa è l'interfaccia che useremo; niente di speciale, solo un campo di testo in scena chiamato infoTF. L'immagine verrà caricata in modo dinamico utilizzando ActionScript.


Passaggio 4: ActionScript

Creare una nuova classe ActionScript (Cmd + N), salvare il file come Main.as e scrivi le seguenti righe. Si prega di leggere i commenti nel codice per comprendere appieno il comportamento della classe.

 pacchetto import flash.display.Sprite; importare jp.shichiseki.exif. *; import flash.events.Event; import flash.net.URLRequest; import flash.display.Loader; public class Main extends Sprite / * Un'istanza di Exif Loader * / var loader privato: ExifLoader = new ExifLoader (); funzione pubblica Main (): void / * Carica l'immagine e aggiunge un listener per eseguire una funzione quando completa * / loader.addEventListener (Event.COMPLETE, onComplete); loader.load (new URLRequest ('img.jpg'));  private function onComplete (e: Event): void / * Aggiungi l'immagine allo stage * / loader.scaleX = 0.08; // Ridimensiona l'immagine originale poiché è 4000 + px wide loader.scaleY = 0.08; loader.x = 195; loader.y = 130; addChild (loader); / * Controllare i dati exif disponibili e visualizzarli * / 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);  funzione privata displayIFD (ifd: IFD): void / * Aggiunge i dati letti al campo di testo in stage * / for (var entry: String in ifd) infoTF.appendText (entry + ":" + ifd [entry] + '\ n'); 

Passaggio 5: Classe di documenti

Ricorda di aggiungere il nome della classe al Classe campo nel Pubblicare sezione del Proprietà pannello.


Conclusione

Usa questa libreria per accedere ai metadati nel tuo file jpg. Ricorda che alcuni editor di immagini rimuovono i dati durante la compressione, nel qual caso verrà generato un errore dal giocatore.

Spero che questo suggerimento ti sia piaciuto, grazie per la lettura!