Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

[?] Thumbnail di immagini: come fare?

96 views
Skip to first unread message

Gambero

unread,
Sep 7, 2004, 8:16:11 AM9/7/04
to
Salve, dovrei visualizzare l'anteprima (thumbnail) delle immagini il cui
percorso č presente in un database.
Riesco a farlo caricandole in controlli image con LoadPicture, ma questo
metodo risulta lento perchč la LoadPicture carica l'intera immagine poi sono
io che la rimpicciolisco tramite stretch e height/width dell image.
Dato che il programma deve caricare 10 anteprime alla volta, vengono
caricate 10 immagini intere e poi ridimensionate, e questo metodo risulta
abbastanza lento.
In particolare mi servirebbe un metodo che carichi direttamente l'immagine
rimpicciolita in modo da essere piů veloce (vedi thumb di ACDSee), in questo
la LoadPicture non mi aiuta...

Qualche suggerimento?

GRAZIE


Gnappo

unread,
Sep 7, 2004, 8:55:05 AM9/7/04
to
> Dato che il programma deve caricare 10 anteprime alla volta, vengono
> caricate 10 immagini intere e poi ridimensionate, e questo metodo risulta
> abbastanza lento.

---TAGL---

> Qualche suggerimento?

Compra un PC più potente, così ci metterà di meno a caricare le immagini

> GRAZIE

di niente!

Seriamente: credo che il metodo più veloce sia inserire le immagini in
risoluzione normale e a bassissima risoluzione. Poi nell'eseguibile, apri
solo quelle a bassa risoluzione. Con photoshop puoi creare, senza problemi,
una azione che al momento di salvare l'immagine ne salvi una copia in bassa
risoluzione in una determinata cartella

D

================================

TERZA LEGGE DI FINAGLE: In qualsiasi insieme di dati, la cifra cosi'
evidentemente corretta da non richiedere un controllo e' l'errore.

================================

Gambero

unread,
Sep 7, 2004, 9:19:29 AM9/7/04
to
> Seriamente: credo che il metodo più veloce sia inserire le immagini in
> risoluzione normale e a bassissima risoluzione.

ma come fa ad esempio esplora risorse a visualizzare i thumb in modo
velocissimo? io voglio adottare *quel* metodo!
qualcuno sa come fare?
GRAZIE


salvo

unread,
Sep 7, 2004, 10:11:41 AM9/7/04
to
Il 07 Set 2004, 15:19, "Gambero" <cgamberiniNO...@libero.it> ha
scritto:
beh, non so quanto è lento il tuo programma ma non mi pare che windows sia
così veloce a visualizzare le anteprima. cmq abilitando la visualizzazione
dei file nascosti nelle cartelle in cui sono presenti delle immagini si può
trovare un file chiamato thum.db o qualcosa di simile. *penso* che venga
creato automaticamente la prima volta che apri una cartella in
visualizzazione anteprima che contiene delle immagini. suppongo che aiuti il
sistema ad essere più veloce le altre volte e forse contiene le thumbnails
delle immagini.
Questa potrebbe essere appunto un'idea: la prima volta che visualizzi una
determinata lista di immagini il programma crea le thumbnails a bassa
risoluzione, quindi le salva tutte in un file binario. quindi le volte
successive sarà sufficiente aprire questo file binario e visualizzare le
anteprime.
del resto non credo che ci siano altre soluzioni.

--------------------------------
Inviato via http://arianna.libero.it/usenet/

Antonio Mirarchi

unread,
Sep 7, 2004, 1:12:45 PM9/7/04
to
> Qualche suggerimento?
Forse puņ aiutarti un OCX ke postai al sito comune tempo fa... Cerca
PicStripOCX o PicStrip...

Antonio Mirarchi


Gambero

unread,
Sep 7, 2004, 6:53:51 PM9/7/04
to
> Forse può aiutarti un OCX ke postai al sito comune tempo fa... Cerca
> PicStripOCX o PicStrip...

grazie ho provato il tuo ocx, ti devo fare i complimenti, è molto carino ma
purtroppo le prestazioni sono le stesse... nessuno sa come fa windows a fare
l'anteprima delle immagini? eppure ci sarà un api o qualcosa da utilizzare
spero.. devo fare l'anteprima di immagini che occupano in media 260Kb l'una
e per fare 10 thumbnail ci mette circa 5 secondi... è troppo! se invece
provo con esplora risorse sulle stesse immagini lo fa un meno di mezzo
secondo! (anche se cancello il file thumb.db)
Aiutatemiiii!
GRAZIE


Gnappo

unread,
Sep 8, 2004, 4:32:12 AM9/8/04
to
Ammesso e non concesso che possa servirti a qualcosa.
La compressione JPG lavora dividendo l'immagine in quadrati di 8x8 pixel.
Prende il primo quadrato in alto a sinistra e lo usa come matrice di
riferimento. Dei quadrati successivi, salva soltanto i pixel diversi alla
matrice di riferimento. Con un livello di dettagli alto, vengono rilevate le
minime differenze, con un livello basso i punti simili vengono considerati
uguali. Se provate a salvare in JPG una immagine con livello minimo, diventa
visibile il reticolo 8x8 usato.
Tornando a noi, si potrebbe quindi leggere solo il pixel con coordinate 1,1
di ogni matrice. Otterresti cosě una immagine di 1/64 piů piccola,
sicuramente piů veloce. Purtroppo, so solo indicarti *cosa* potresti fare,
ma non il *come*.

D

================================

SETTIMA VARIANTE DI ZYMURGY ALLA LEGGE DI MURPHY: Quando piove, diluvia.

================================


Gian Paolo Piras

unread,
Sep 8, 2004, 4:38:54 AM9/8/04
to
"Gambero" <cgamberiniNO...@libero.it> wrote in message news:<8_q%c.15684$B06....@news.edisontel.com>...

Perchè non provi direttamente con le api GDI di Windows ?
Dovrebbero essere più veloci
Le funzioni da usare sono SetStretchBltMode e StretchBlt
A queste funzioni devi passare l'handle al DeviceContext,
che è la proprietà hDC della PictureBox nella quale vuoi disegnare la thumbnail

La documentazione la trovi su MSDN

ciao

Antonio Mirarchi

unread,
Sep 8, 2004, 2:07:59 PM9/8/04
to
> Perchè non provi direttamente con le api GDI di Windows ?
> Dovrebbero essere più veloci
> Le funzioni da usare sono SetStretchBltMode e StretchBlt
> A queste funzioni devi passare l'handle al DeviceContext,
> che è la proprietà hDC della PictureBox nella quale vuoi disegnare la
> thumbnaol
Uhm... Anch'io provai ad utilizzare quelle api proprio nell'ocx di cui
sopra... Però il prob è che la qualità dell'immagine disegnata non era un
granchè...

Antonio Mirarchi


Fosco

unread,
Sep 9, 2004, 12:42:53 AM9/9/04
to
"Gambero"

> grazie ho provato il tuo ocx, ti devo fare i complimenti, è molto carino ma
> purtroppo le prestazioni sono le stesse... nessuno sa come fa windows a fare
> l'anteprima delle immagini? eppure ci sarà un api o qualcosa da utilizzare
> spero.. devo fare l'anteprima di immagini che occupano in media 260Kb l'una
> e per fare 10 thumbnail ci mette circa 5 secondi... è troppo!

Prova a vedere come si comporta
IrfanView
http://www.irfanview.com/

e' meno di 1 mega e puoi sfrtuttarlo anche da riga di comando
se' e' piu' veloce "taglia la testa al topo e prendi 2 fave con 1 piccione"
e adopera quello
--
Fosco


Gambero

unread,
Sep 9, 2004, 6:22:34 PM9/9/04
to
> Prova a vedere come si comporta
> IrfanView
> http://www.irfanview.com/

ti ringrazio per il link ma quello che mi serve a me non č un visualizzatore
di immagini... ma devo *dal mio programma* generare le thumbnail perchč poi
ad ognuna di esse associo delle ulteriori informazioni (ID del record della
tabella associata)


javalab

unread,
Sep 9, 2004, 7:13:23 PM9/9/04
to

"Gambero" <cgamberiniNO...@libero.it> ha scritto

> devo fare l'anteprima di immagini che occupano in media 260Kb l'una
e per fare 10 thumbnail ci mette circa 5 secondi... č troppo!


ho fatto ora una prova (a occhio, senza cronometro), e su un normale
centrino gvbox.ocx direi ci abbia messo meno di 15" per 25 jpeg da 1-1.5m,
37m in tutto, mentre al vb faccio fare anche un po' di pagine html.
gvbox non costa molto, e le miniature le puoi parametrizzare. sul sito trovi
una demo.
e' quello che uso per tutti i thumbnails sul mio sito.
http://jcoconsulting.com/

in alternativa puoi usare stretchblt e compagnia. pero' le immagini devi pur
sempre leggerle...
da me (sw > code > img_size) trovi un esempio di giox per leggerle
velocemente.

--
hth, ciao, j.
http://www.sundaysw.com


Gambero

unread,
Sep 10, 2004, 10:51:32 PM9/10/04
to
ho trovato un esempio che fa esattamente quello che cercavo e ho risolto il
problema... adesso č velocissimo a caricare le thumbnail! a chi interessasse
mostra l'utilizzo delle librerie GDI+ per il caricamento e il resize di
immagini, il link č:
http://www.planet-source-code.com/vb/scripts/ShowCode.asp?txtCodeId=48352&lngWId=1

GRAZIE A TUTTI


Antonio Mirarchi

unread,
Sep 11, 2004, 10:13:25 AM9/11/04
to
> ho trovato un esempio che fa esattamente quello che cercavo e ho risolto
> il
> problema... adesso è velocissimo a caricare le thumbnail! a chi
> interessasse
> mostra l'utilizzo delle librerie GDI+ per il caricamento e il resize di
> immagini, il link è:
> http://www.planet-source-code.com/vb/scripts/ShowCode.asp?txtCodeId=48352&lngWId=1

Azz... Grazie! Prevedo a breve una nuova versione del mio PicStrip OCX :-)

Antonio Mirarchi


0 new messages