PDA

Ver la Versión Completa : ¿Componente similar a listview que admita .jpg?


newtron
06-04-2012, 09:45:16
Hola a tod@s.

Con la inestimable ayuda del amigo ecfisa he conseguido crear un listview para mostrar iconos con imágenes a partir de un stream proveniente de una tabla. El problema es que la mayoría de las imágenes están grabadas en formato .jpg y hay que asignarlas a .bmp para poder mostrarlas en el listview y ese paso se me antoja lento, en el momento que hay un puñado de imágenes le cuesta mostrarlas.

Y yo pregunto, ¿hay algún componente que haga algo similar pero que se puedan usar imágenes .jpg directamente?.

También me podéis decir... se pueden guardar las imágenes en formato .bmp y solucionado, pues si, pero multiplicaría por un montón la capacidad que ocupan y eso tampoco mola.

Y diréis... este tío quiere tetas y sopa!!, pues si, yo soy así de vicioso!!. :D:D

Gracias y un saludo

Casimiro Notevi
06-04-2012, 10:38:40
Dudas:
¿Tan lento es?
¿Son muchas imágenes?.
Si son muchas: ¿tienes que cargarlas todas?
¿Son muy grandes?, para un tamaño icono pequeñito (que es lo que muestra un listview) no creo que ocupe mucho más un bmp que un jpg.
¿A qué llamas ocupa mucho más?
¿A qué llamas es lento?

newtron
06-04-2012, 11:27:16
1ª PARTE

Dudas:
¿Tan lento es?


Bueno, el proceso de asignar el jpg a bmp tarda un poquito como bien sabes, si lo multiplicas por N imágenes el tema se demora.


¿Son muchas imágenes?.


Pues ni idea, pero estimo que pueden ser unas 10 o por ahí.


Si son muchas: ¿tienes que cargarlas todas?


Es lo suyo. :)


¿Son muy grandes?, para un tamaño icono pequeñito (que es lo que muestra un listview) no creo que ocupe mucho más un bmp que un jpg.
¿A qué llamas ocupa mucho más?
¿A qué llamas es lento?

Para este caso aunque el tamaño del icono sea pequeño hay que tratar la imagen con todo su tamaño antes de asignarla al icono, imagino.

Una imagen que en jpg ocupa 417kb. en bmp ocupa 9217kb., hay una diferencia.

¿Lento? pues la verdad es que no he cronometrado, pero fácilmente puede tardar 3 ó 4 veces más si las imágenes están en formato jpg a bmp. Estimo que puede tardar en convertir la imagen y asignarla al listview 1sg por imagen, para mi eso es demasiado.

2ª PARTE

Mientras estaba escribiendo este post iba haciendo pruebas con 5 registros con bmp o los mismos con jpg. Pues resulta que aún teniendo que convertir los jpg a bmp para asignarlos es el doble de rápido con jpg. :confused: imagino que la capacidad que ocupan las imágenes influyen bastante en el resultado final.

Con bmp tarda como 5 segundos y con jpg algo menos de 3 en mostrar en el listview las 5 imágenes.

Casimiro Notevi
06-04-2012, 12:15:26
Hay algo que me parece "extraño" porque no tengo información: la imagen que va a salir en un listview es apenas como un pequeño icono, ¿para qué se necesita sacar de una imagen tan grande?, será mejor que esas imágenes sean pequeñitas, no hay necesidad de que sean tan grandes.
¿Por qué no 'obligas' a que se guarden en la BD en tamaño pequeño?, así ya lo tienes controlado, no dejes guardar imágenes de ¿megas? para un simple icono.
O bien, la conviertes (la escalas a menor) al guardarla.
También puedes guardar la original y crear otro campo con la misma ya convertida a pequeña, y usar esta última para presentar en el listview.

newtron
06-04-2012, 14:24:35
También puedes guardar la original y crear otro campo con la misma ya convertida a pequeña, y usar esta última para presentar en el listview.

Eso si sería una posible solución porque la imagen tiene que estar disponible en tamaño normal para poder visualizarla en grande. Lo que me llama la atención es por ejemplo el explorador de windows lo hace de forma inmediata.

Gracias por la idea, lo probaré a ver si se nota la diferencia de rendimiento. :)

ecfisa
06-04-2012, 18:50:28
Hola newtron.

Creo que lo que sugiere Casimiro es una exelente idea.

Estuve mirando que un archivo .bmp de 32x32 ocupa mas o menos 3.05 Kb. Podrías almacenar la imágen en .jpg (si es necesaria para alguna operación) y además su ícono en .bmp sin que eso represente un aumento significativo en el consumo de espacio en disco.

Saludos.:)

Edito: No se como lo realiza windows, pero suelo ver junto a las imágenes un archivo Thumbs.db que supongo que algo tiene que ver en el asunto...

newtron
08-04-2012, 09:22:57
Hola newtron.
No se como lo realiza windows, pero suelo ver junto a las imágenes un archivo Thumbs.db que supongo que algo tiene que ver en el asunto...

Es posible, cuando vea al Sr. windows tengo que preguntarle cómo lo hace. :D

Casimiro Notevi
08-04-2012, 11:10:51
Es posible, cuando vea al Sr. windows tengo que preguntarle cómo lo hace. :D
Pues uno de los exsocios/dueños/accionistas, Paul Allen, ha estado varias semanas en Málaga, llegó en su segundo barco, el pequeño, creo que están haciéndole reformas para venderlo y comprar otro, no sé si se ha ido ya del puerto, la semana pasada estaba todavía, es este:

http://farm8.staticflickr.com/7180/7056136945_4f478f53cf.jpg

Su otro barco, el grande, estuvo hace unos años también por aquí, se ve que le gusta venir a esta zona, creo que quería hablar contigo, tú sabrás para qué:

http://farm8.staticflickr.com/7240/7056136941_cde12bebcb.jpg

Este barco lleva 2 helicópteros e incluso un minisubmarino, con el que hace unos años, con Bill Gates de invitado, estuvo paseando por la Antártida, aquí está la foto:

http://farm6.staticflickr.com/5449/7056136947_1ac302b94d.jpg

Y como me muero de envidia, yo también me compré mi barco, mejor dicho, lo construí con mis propias manos, con el sudor de mi frente, aquí está:

http://farm8.staticflickr.com/7068/7056160653_9c0dc7a8d1.jpg

newtron
09-04-2012, 09:30:03
Pues uno de los exsocios/dueños/accionistas, Paul Allen, ha estado varias semanas en Málaga, llegó en su segundo barco, el pequeño, creo que están haciéndole reformas para venderlo y comprar otro, no sé si se ha ido ya del puerto, la semana pasada estaba todavía, es este:

http://farm8.staticflickr.com/7180/7056136945_4f478f53cf.jpg



¡¡Andalaleche!! pues fíjate que el Jueves estuve por Málaga con mi colega de Entorno Informática y al ver el barquito iba pensando... "¿de quien será este pequeño cacharro?"



Y como me muero de envidia, yo también me compré mi barco, mejor dicho, lo construí con mis propias manos, con el sudor de mi frente, aquí está:

http://farm8.staticflickr.com/7068/7056160653_9c0dc7a8d1.jpg

Pues nada, a ver cuando invitas a dar una vuelta. :D

Casimiro Notevi
09-04-2012, 11:01:32
Pues nada, a ver cuando invitas a dar una vuelta. :D
Cuando quieras, ¿qué prefieres?, ¿remar o achicar agua? :D

escafandra
09-04-2012, 11:28:23
Desde mi smartphone.

Revisa el truco 467, y esto ( www.clubdelphi.com/foros/showthread.php?t=59940&highlight=thumbnail).



Saludos.

newtron
09-04-2012, 13:48:53
Desde mi smartphone.
Revisa el truco 467, y esto (http://www.clubdelphi.com/foros/showthread.php?t=59940&highlight=thumbnail).


Gracias amigo escafandra, ya le había echado un vistazo. :)

Al final, con la idea del amigo casimiro, he creado un campo aparte para la imagen en pequeñito y va con una rapidez aceptable.

Saludos