Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   ¿Componente similar a listview que admita .jpg? (https://www.clubdelphi.com/foros/showthread.php?t=78294)

newtron 06-04-2012 09:45:16

¿Componente similar a listview que admita .jpg?
 
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

Cita:

Empezado por Casimiro Notevi (Mensaje 429446)
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.

Cita:

Empezado por Casimiro Notevi (Mensaje 429446)
¿Son muchas imágenes?.

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

Cita:

Empezado por Casimiro Notevi (Mensaje 429446)
Si son muchas: ¿tienes que cargarlas todas?

Es lo suyo. :)

Cita:

Empezado por Casimiro Notevi (Mensaje 429446)
¿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

Cita:

Empezado por Casimiro Notevi (Mensaje 429450)
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

Cita:

Empezado por ecfisa (Mensaje 429467)
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

Cita:

Empezado por newtron (Mensaje 429534)
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:



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é:



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:



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á:


newtron 09-04-2012 09:30:03

Cita:

Empezado por Casimiro Notevi (Mensaje 429540)
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:



¡¡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?"



Cita:

Empezado por Casimiro Notevi (Mensaje 429540)
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á:


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

Casimiro Notevi 09-04-2012 11:01:32

Cita:

Empezado por newtron (Mensaje 429584)
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.



Saludos.

newtron 09-04-2012 13:48:53

Cita:

Empezado por escafandra (Mensaje 429588)
Desde mi smartphone.
Revisa el truco 467, y esto.

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


La franja horaria es GMT +2. Ahora son las 04:38:32.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi