99caos
16-02-2007, 18:10
Salve forum,
in riferimento a questo sito (Convert from .hpi to .jpg (http://www.halley.cc/ed/linux/interop/hemera.html)) ho intrapreso un rapido studio di perl per capire come mai lo script proposto non funzionava.
Adesso comprendo lo script ma non capisco ancora come mai non funzioni (in realtà non lo comprendo benissimo...).
Riassumo la questione senza che leggiate il link.
Per chi possiede una collezione di foto di Hemera e usa un Mac per lavorare, la vita non è semplice.
Hemera infatti usa un formato proprietario per la gestione dei suoi files raggiungibile solo dal suo lettore software che effettua la conversione in jpg one to one delle immagini che si desidera usare.
Sfortuna vuole che detto software gira solo su windows e non su Mac.
Ergo: per poter usare i detti file che si usavano con un pò di artificio su Win bisogna cercare il modo di convertirli in .jpg
L'autore dell'articolo linkato sostiene che la struttura dei file è un misto tra .jpg e .png, togliendo i primi 32 byte da ogni file, è possibile convertire la foto in .jpg.
Veniamo allo script:
Prima parte:
open(I, "$name") || die;
binmode(I);
$_ = <I>;
close(I);
($j, $p) = m|^.{32}(.*)(\211PNG.*)$|s;
open(J, ">$name.jpg") &&
do { binmode(J); print J $j; close J; };
open(P, ">$name.png") &&
do { binmode(P); print P $p; close P; };
Si passa a $name il link del file e questo lo apre in due istanze.
Si creano dunque due file dai quali si sottraggono i primi 32 bit (non comprendo bene l'espressione regolare che viene usata, quindi mi fido di quello che ho capito).
Il risultato di questo script è la creazione di due file del tipo test.hpi.png e test.hpi.jpg (li dove test.hpi è il file originario).
Il problema è che i file risultano di 0 byte quindi non si può passare alla seconda parte dello script che è illustrata nell'articolo linkato
Non so come venirne a capo, da giorni mi trovo bloccato e non posso più usare i miei files su Mac... tutto ciò è abbastanza frustrante.
Mi affido a voi
in riferimento a questo sito (Convert from .hpi to .jpg (http://www.halley.cc/ed/linux/interop/hemera.html)) ho intrapreso un rapido studio di perl per capire come mai lo script proposto non funzionava.
Adesso comprendo lo script ma non capisco ancora come mai non funzioni (in realtà non lo comprendo benissimo...).
Riassumo la questione senza che leggiate il link.
Per chi possiede una collezione di foto di Hemera e usa un Mac per lavorare, la vita non è semplice.
Hemera infatti usa un formato proprietario per la gestione dei suoi files raggiungibile solo dal suo lettore software che effettua la conversione in jpg one to one delle immagini che si desidera usare.
Sfortuna vuole che detto software gira solo su windows e non su Mac.
Ergo: per poter usare i detti file che si usavano con un pò di artificio su Win bisogna cercare il modo di convertirli in .jpg
L'autore dell'articolo linkato sostiene che la struttura dei file è un misto tra .jpg e .png, togliendo i primi 32 byte da ogni file, è possibile convertire la foto in .jpg.
Veniamo allo script:
Prima parte:
open(I, "$name") || die;
binmode(I);
$_ = <I>;
close(I);
($j, $p) = m|^.{32}(.*)(\211PNG.*)$|s;
open(J, ">$name.jpg") &&
do { binmode(J); print J $j; close J; };
open(P, ">$name.png") &&
do { binmode(P); print P $p; close P; };
Si passa a $name il link del file e questo lo apre in due istanze.
Si creano dunque due file dai quali si sottraggono i primi 32 bit (non comprendo bene l'espressione regolare che viene usata, quindi mi fido di quello che ho capito).
Il risultato di questo script è la creazione di due file del tipo test.hpi.png e test.hpi.jpg (li dove test.hpi è il file originario).
Il problema è che i file risultano di 0 byte quindi non si può passare alla seconda parte dello script che è illustrata nell'articolo linkato
Non so come venirne a capo, da giorni mi trovo bloccato e non posso più usare i miei files su Mac... tutto ciò è abbastanza frustrante.
Mi affido a voi