Supporto » Varie ed eventuali » Convertire dato EXIF lunghezza focale

  • Sto usando il plugin Exifography che estrapola i dati EXIF dalla foto, però la lunghezza di focale la visualizza originale in base alla grandezza del sensore, io invece vorrei che la lunghezza focale venisse convertita come un formato standard 35mm. Es, ora con sensore piccolo, stampa 16mm, se avesse un sensore formato standard stamperebbe 24mm.

    Il codice che ho è questo, ma non so come modificarlo:

    ...
    elseif ($key == 'focal_length' && !$imgmeta['image_meta'][$key] == 0)
    $exif = $imgmeta['image_meta'][$key] . __('mm','exifography');
    ,,,
    • Questo topic è stato modificato 5 anni, 8 mesi fa da blogforum.
    • Questo topic è stato modificato 5 anni, 8 mesi fa da blogforum.
    • Questo topic è stato modificato 5 anni, 8 mesi fa da Guido Scialfa.
Stai visualizzando 14 risposte - dal 1 al 14 (di 14 totali)
  • Moderatore Guido Scialfa

    (@wido)

    Ciao @blogforum,

    Ti consiglierei di aprire un topic di supporto allo sviluppatore, magari può aggiungere una opzione od un filtro che ti permette di modificare il valore.

    Modificare il plugin direttamente significa che ogni volta che esce un update o hai da reinstallarlo per qualche motivo perdi le modifiche fatte.

    Chi ha creato la discussione blogforum

    (@blogforum)

    Lo sviluppatore mi ha dato questo codice da mettere nel child functions.php, ma non funziona

    function change_focal_length($content) {
    	if (isset($content['focal_length']))
    		$content['focal_length'] = '35mm';
    
    	return $content;
    }
    add_filter('exifography_display_exif','change_focal_length');
    Moderatore Guido Scialfa

    (@wido)

    Ciao @blogforum,

    Ho installato il plugin, caricato una foto ed aggiunto la funzione per filtrare il dato ed ha funzionato.

    Ho controllato il codice e non vedo motivi per il quale non dovrebbe funzionare.

    Da cosa capisci che non funziona? Hai attivato il child del tema?

    Chi ha creato la discussione blogforum

    (@blogforum)

    Bisogna vedere che cosa intendi per “ha funzionato”, sei sicuro che il codice ha lavorato?
    Ti spiego: una foto fatta con NIKON D3100 lunghezza focale originale: 40mm se convertita a sensore 35mm risulta focale 60mm. http://metapicz.com/#landing

    A te fa la conversione a 35mm?

    A me mostra così se metto il codice nel child

    • Questa risposta è stata modificata 5 anni, 7 mesi fa da blogforum.
    • Questa risposta è stata modificata 5 anni, 7 mesi fa da blogforum.

    Ciao @blogforum,

    credo di aver compreso la tua richiesta ma credo che l’operazione non sia contemplata nelle funzioni del plugin e mi sembrerebbe manchino i dati rilevanti alla conversione: potresti cortesemente indicarci i valori del calcolo che vorresti effettuare e la sua formula?

    Chi ha creato la discussione blogforum

    (@blogforum)

    Il codice me l’ha dato la creatrice del plugin. Non c’è una particolare conversione da fare, qualsiasi focale che non corrisponde ad un sensore 35mm (24×36), con questo codice dovrebbe convertire la lunghezza di focale come fosse un sensore full frame 24×36

    @blogforum,

    mi sembra ci sia un incomprensione di fondo: da quello che vedo, il plugin estrapola le informazioni che la camera fornisce.

    La parte di codice if (isset($content['focal_length'])) verifica la presenza dell’informazione e la successiva $content['focal_length'] = '35mm'; impone il valore “35mm” qualora lo sia. Il codice (e credo anche il plugin originale) non effettua alcuna conversione.

    Ti consiglierei comunque di parlare direttamente con l’autore del plugin al riguardo visto che sicuramente conosce il suo codice meglio di chiunque altro.

    Moderatore Guido Scialfa

    (@wido)

    Lo snippet non effettua alcuna conversione, semplicemente ritorna sempre il valore ’35mm’. Non fa altro.

    Chi ha creato la discussione blogforum

    (@blogforum)

    Io ho notato che questo codice è inutile perché il plugin mi da lo stesso la lunghezza di focale originale, quindi non capisco a cosa serva questo codice.

    Moderatore Guido Scialfa

    (@wido)

    @blogforum il codice che ti è stato girato dalla sviluppatrice non effettua alcuna conversione, non so perchè non ti funzioni, non hai attivo il child oppure non è stato copiato correttamente. Dai test che ho fatto e vedendo il sorgente non c’è nulla che mi dica che non funzioni.

    Come dice @_y_power ti conviene parlare direttamente con la sviluppatrice a tal proposito.

    Chi ha creato la discussione blogforum

    (@blogforum)

    Allora, ho attivato il child e funziona perfettamente. Da quello che capisco, questo codice non converte nulla, ma mette a video come in un mio precedente post, quindi non serve a nulla perché non converte niente. Io non so se a voi funziona, ma a me non converte niente.

    https://it.wordpress.org/support/topic/convertire-dato-exif-lunghezza-focale/#post-19563

    • Questa risposta è stata modificata 5 anni, 7 mesi fa da blogforum.
    Moderatore Guido Scialfa

    (@wido)

    Ciao @blogforum,

    Come già detto si il codice non converte, quello che fa è semplicemente ritornare il valore return '35mm' sempre indipendentemente dal valore di input.

    La conversione devi farla tu in base ai valori che hai all’interno di $content.
    Il problema è che dal codice vedo che esiste solo la focale e non c’è il sensore.

    https://plugins.trac.wordpress.org/browser/thesography/trunk/exifography.php#L294

    Conosci la formula matematica?

    Chi ha creato la discussione blogforum

    (@blogforum)

    Io non conosco tutte le misure dei sensori che esistono

    Questo è il codice nel plugin:

    $this->fields = array(
     ...
     'focal_length' => __('Focal length', 'exifography'),  
     ...
    );

    Quindi, come metto questo filtro ammesso che debba convertire 1.5x?

    function change_focal_length($content) {
    	if (isset($content['focal_length']))
    	  $content['focal_length'] = '35mm';
    
    	return $content;
    }
    add_filter('exifography_display_exif','change_focal_length');
    • Questa risposta è stata modificata 5 anni, 5 mesi fa da steve92.
    • Questa risposta è stata modificata 5 anni, 5 mesi fa da steve92.
Stai visualizzando 14 risposte - dal 1 al 14 (di 14 totali)
  • Il topic ‘Convertire dato EXIF lunghezza focale’ è chiuso a nuove risposte.