Newsgroup: it.comp.lang.visual-basic
Titolo: [?]aprire file immagine ignorando l'estensione

mi hanno fatto uno scherzetto simpatico...
in un mio programma (sempre il solito, mica ne ho fatti tanti :-) ) utilizzo
delle immagini memorizzate da un'altra applicazione.
fino a qualche giorno fa le immagini erano in formato tga, ho dovuto
acquistare un ocx per poterle gestire, ma poco male.
adesso le immagini hanno un altro formato, tiff compresso con lzh, che
sarebbe anche gestibile dall'ocx che uso, se non fosse che le immagini sono
salvate ancora con estensione .tga, quindi quando carico il file viene
sollevata una eccezione per header scorretto.
secondo voi c'è un sistema per spiegare ad un controllo (in questo caso
gvbox.ocx) che deve interpretare l'immagine in un modo anche se l'estenzione
del file indica una cosa diversa?
per caricare l'immagine, attualmente uso l'istruzione
Nomecontrollo.Filename = nomedelfile
e la firma di questa proprietà non permette di specificare il formato
dell'immagine.
ringraziamenti anticipati.
-- 
Salutoni
Sergio
per rispondere... togli il group dall'indirizzo

 dell'immagine.
In assenza di alternative, potresti copiare il file su un altro temporaneo
(magari sempre con lo stesso nome per non caricare il disco) con
l'estensione desiderata... e passare questo all'OCX

 disco) con l'estensione desiderata... e passare questo all'OCX
si, naturalmente l'idea di scorta è questa.
però non è bello che io sia costretto a ricorrere a questi artifici per
continuare a far lavorare l'applicazione. se un domani mi ricambiano il
formato, modificando o meno l'estensione, mi riincasinano.


 l'estenzione del file indica una cosa diversa?
tga e tiff hanno qualcosa in comune, che non ricordo bene.
Se un file Tiff č salvato con estensione tga non si apre, giusto?
E il viceversa? Cioč, rinominando i tga come .tif, si aprono?
Ciao
Alberto

 E il viceversa? Cioè, rinominando i tga come .tif, si aprono?
allora:
1) file in formato tga con estensione tga: si apre correttamente
2) file in formato tif compresso con estensione tif: si apre correttamente
3) file in formato tif con estensione tga: bad header in file
4) file in formato tga con estensione tif: errore nell'allocazione della
memoria
riassunto: se estensione e formato sono coerenti, tutto funziona a dovere,
in caso contrario no, e mi sembra anche comprensibile.


 carico il file viene sollevata una eccezione per header scorretto.
Prendilo in contropiede: se č un TIFF i primi due caratteri, secondo
le specifiche, _devono_ essere "II" oppure "MM". Se NON sono quelli,
i file č un TGA, e vai tranquillo, altrimenti rinomini il file.
Se ti interessa, II sta per Intel e MM per Motorola: servono ad indicare
l'ordine dei bytes nei dati, se il file č stato creato su piattaforma Intel
usa il little endian, su Motorola il big. Ai primordi serviva per ottimizzare
le routine di IO, oggigiorno non ha piů molto senso, credo.
Bye, G.

 i file è un TGA, e vai tranquillo, altrimenti rinomini il file.
Dimenticavo: nel TGA il secondo byte può essere solo 1 o 0, quindi
non puoi sbagliare.
Bye, G.

 i file è un TGA, e vai tranquillo, altrimenti rinomini il file.
grazie della precisazione.
però, alla fine, mi stai dicendo anche tu che per risolvere il problema devo
cambiare nome al file... e siccome non posso rinominarlo, devo farne uno
temporaneo.
rabbia.


 però, alla fine, mi stai dicendo anche tu che...
Niente rabbia e, se proprio c'è, scrivi a quelli che salvano in un formato
con l'estensione di un altro.
Non cambierà nulla (forse), ma se gli scrivi "siete dei dementi
irrecuperabili" (come certo farei io, letteralmente!) forse prenderanno in
considerazione la loro palese cappella e non si avventeranno in scuse
inutili.
Se poi quel nome che non hai voluto fare (scelta rispettabile) lo fai, è
meglio.
Direi che se lo sono meritato, diranno che è stato un errore.
L'importante è che non si sentano più intoccabili, perchè proprio gli
intoccabili bisognerebbe toccare, senza guanti.
Lupo.il.solito.don.chisiotte.che.morirà.schiantandosi.contro.un.mulino.a.ven
to.più.duro.del.solito.

 formato con l'estensione di un altro.
non gli ho scritto, ci ho parlato per telefono :-)
hanno sostenuto che la cosa è stata fatta per compatibilità con la versione
precedente. il tizio ha anche affermato che si può vedere di risolvere la
cosa, se mi crea troppi problemi, ma in prima battuta volevo arrangiarmi, o
comunque definire in modo preciso che costi, in termini di pesantezza
elaborativa, implicava l'arrangiarmi.
sullo scherzetto in sè: dal mio personalissimo punto di vista il fatto di
utilizzare un nome di file incoerente tra formato ed estensione è una cosa
che non sta nè in cielo nè in terra, ma del resto, nella situazione
contingente, l'ospite sono io. il loro programma non è stato strutturato per
permettere l'aggancio che faccio io, e se vuoi esportare le immagini
prodotte dal loro applicativo hai a disposizione una loro utility che te le
salva nel formato che vuoi e con l'estensione corretta, quindi mi sembra che
siano eticamente inattaccabili.
certo che se mi raccontavano prima del nuovo formato, un po' di tempo lo si
poteva risparmiare, ma forse neanche sapevano che utilizzavo le loro
immagini.


 estensione è una cosa che non sta nè in cielo nè in terra
ecco...

 rinominarlo, devo farne uno temporaneo.
Un'ideuzza ce l'avrei, ma dipende se quelle immagini le devi solo
visualizzare o cosa... e se ne vale la pena.
Non potresti aprire il file TIF (o magari tutti) con un altro sistema ?
Per esempio, 
http://perso.wanadoo.fr/pierre.g/xnview/enfeaturesgfl.html
Freeware solo per usi non commerciali, ma la licenza non dovrebbe
costare molto.
Bye, G.

 versione precedente.
Sarà. A me pare un problema di pigrizia del _LORO_ programmatore.
In altre parole:
"QUESTA E' PROPRIO UNA CA, UNA VERA CAZZA, UNA GRANDE,
GIGANTESCA, STREPITOSA CAZZATA!" (cit.).
:-)
Bye, G.

 compatibilità), si aspettano quell'estensione.
probabile.
il concetto che volevo esprimere è che loro, con il loro software, possono
comunque fare come gli torna più comodo, quelle immagini non sono state
concepite per essere utilizzate da altri applicativi.


 molto.
grazie per l'indicazione.
gli ho appena chiesto quanto verrebbe a costare, ma sicuramente non ho
nessuna intenzione di pagare di tasca mia una cosa che serve a risolvere un
problema creatomi da altri.
per quanto, come già ho detto altrove, abbiano tutto il diritto di
comportarsi così.
