![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|||||||
| Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
![]() |
|
|
Herramientas | Buscar en Tema | Desplegado |
|
|
|
#1
|
||||
|
||||
|
¡Oh!, es que cargar tantísimas imágenes es normal que tarde, salvo que tengas un equipo muy potente, con muchísima memoria, una tarjeta gráfica "monstruosa", etc.
Suponiendo que tarde 0,1 segundos en cargar una, para cargar 100 necesitaría 10 segundos, si hablas de 2000 ![]() No sé, quizás puedas tener las imágenes en pequeñitas cada una y sólo cargar las grandes cuando realmente sean necesarias, por decir algo.
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código | Colabora mediante Paypal |
|
#2
|
||||
|
||||
|
Cita:
Tus aportes me hacen encarar mejor este proyecto y sus desafíos. De hecho las imágenes que identifican a cada serie de un examen justamente son .bmp tumbnails de 100 x 100 y se muestran en el programa como "aperitivo" de lo que contiene cada estudio. Salu2 |
|
#3
|
||||
|
||||
|
He estado intentando cargar las imágenes en un TMemoryStream con el siguiente código:
Donde el ListBox contiene los strings de las rutas de las imágenes y a partir del MemoryStream cargar las imágenes en la CnsDMTable que se conecta al visor para mostrar las imágenes de formato .dcm Sin embargo el stream sólo carga los strings de la ubicación de las imágenes como tales y no como archivos de imágenes, por lo que la carga finalmente es igual de lenta. ¿Cómo puedo cargar en un TMemoryStream o TFileStream las imágenes y no sus rutas de ubicación en el HD? Agradezco sus valiosos aportes. Saludos |
|
#4
|
|||
|
|||
|
Cita:
no, el MemoryStream no carga la ubicación de las imágenes sino la imagen (el fichero binario) memoria completamente que luego carga el DicomMultiviewer1 a través de ese memorystream. Pasar por un memorystream o incluso un Filestream no te va accelarerar la carga, creo yo, ya que muy probablemente, internamente, el CnsDCMTable tenga ese mecanismo implementado ya que tiene el metodo loadfromfile y loadfromstream (normalmente el loadfromfile suele ser una implementacion particular del loadfromstream donde se crea un stream a partir del nombre de fichero en parámetro y se pasa al loadfromstream, vamos el lo que tu has hecho en tu ejemplo). Acabo de hacer pruebas con el DicomVCL para ver los tiempos de cargas que indicas estos son los tiempos: 100 img -> 0,875 s 250 img -> 3,8 s 500 img -> 13,5 s Como puedes ver, la progresion no el lineal, con lo cual me extrañaria que sera realmente un problema de acceso al fichero (carga pura y dura), yo creo que es mas un problema de indexacion de la imagen en esa tabla interna en memoria que usa las DicomVCL (cuantas mas imagenes tengo, mas tiempo tardo en ordenarlas e indexarlas). He intentado ver si se puede desactivar la ordenación de la tabla durante la carga, pero no veo nada, la unica propiedad que hay es la de TCnsDMTable.ImageOrder, pero no permite un valor desactivado del estilo "dsNone". No se si te ha ayudado... |
|
#5
|
|||
|
|||
|
Perdonad, pero en el mensaje anterior tengo un error:
"no, el MemoryStream no carga la ubicación de las imágenes sino la imagen (el fichero binario) en memoria completamente que luego carga el CnsDMTable1 a través de ese Memorystream." Esto pasa por novato y no revisar las respuesta.... |
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
Temas Similares
|
||||
| Tema | Autor | Foro | Respuestas | Último mensaje |
| WebBrowser bloqueo de carga de imagenes | titomigue | Internet | 1 | 17-08-2010 09:53:34 |
| Acelerar apertura de consulta desde Delphi contra Access | Sergiov | SQL | 4 | 13-04-2007 10:42:59 |
| Acelerar carga de Delphi | mamcx | Noticias | 4 | 13-09-2006 00:51:52 |
| Transparencias y carga de imágenes | david.rguez | Gráficos | 1 | 04-09-2006 18:01:40 |
| carga de imagenes en timage | jvalles | Gráficos | 2 | 15-12-2005 19:06:57 |
|