Este foro usa cookies
Este foro utiliza cookies para almacenar su información de inicio de sesión si está registrado y su última visita si no lo está. Las cookies son pequeños documentos de texto almacenados en su computadora; las cookies establecidas por este foro solo se pueden usar en este sitio web y no representan ningún riesgo de seguridad. Las cookies en este foro también rastrean los temas específicos que ha leído y la última vez que los leyó. Si Ud. continúa navegando, entenderemos que acepta todas las cookies.

Se almacenará una cookie en su navegador, independientemente de la elección, para evitar que se le vuelva a hacer esta pregunta. Podrá cambiar la configuración de sus cookies en cualquier momento utilizando el enlace en el pie de página.

El foro antiguo se encuentra accesible desde https://foro.gambas-es.org en modo de solo lectura.

Calificación:
  • 0 voto(s) - 0 Media
  • 1
  • 2
  • 3
  • 4
  • 5

Cual es la forma mas rapida y eficiente de cargar imagenes en un control.
#11

Esto, ¿ conocéis la aplicación Lighttable que se incluye en las fuentes de Gambas ?. ( Anteriormente venía en los ejemplos ).
Si tenéis las fuentes de Gambas lo encontrareis en:

directorio_de_instalación_de_fuentes_de_gambas3/gambas/app/examples/Image

Para que funcione necesitáis:
- exiftool
- convert

No es que sea muy rápido pero no esta mal. Esta pensado de principio solo para los jpg y jpeg.
Se podía ver si funciona con los png , se añade la extensión en Main y el procedimiento ReadDir,
se crea un problema aquí a la hora de convertir "algunos" png.
 
GAMBAS
  1. Shell "convert -define jpeg:size=150x150 '" & aPFiles[i] & "' -auto-orient -thumbnail 128x128 '" & aThumbs[i] & "'" Wait[/i][/i]



Está dentro de Time1_Timer en el formulario FMain.

Saludos

"El buen perfume en frasco pequeño se vende"
[-] Los siguientes 1 usuarios dice gracias a Shell por este post:
  • tincho
    ¡Gracias!
#12

(17-11-2022, 12:39)tercoide escribió:  Ademas, podrías guardar las miniaturas como suelen hacer estos navegadores de archivos, con ello no tendrías que stretch-arlas  función que debe insumir algún tiempo.

El problema es que son muchísimas fotografías y tengo que estudiar la manera mas eficiente de generar estas miniaturas.

¿Y si uso las miniaturas que genera el explorador de archivos? puede ser viable, aprovechar lo que ya genero el sistema y no inventar la rueda, pero ya entramos en la diversidad de escritorios y puede variar la ubicación, el tipo etc. etc.

1 Saludo.
    ¡Gracias!
#13

Si está cargando imágenes desde una carpeta, entonces considere el siguiente código. Tendrá que cambiar las dos primeras líneas. El uso de 'Stretch' no muestra bien las imágenes. Echa un vistazo a 'Picturebox.Mode', es mucho mejor.

GAMBAS
  1. sPath As String = User.Home &/ "Pictures/Capture"
  2. sMyPics As String[] = ["IMG_2540.JPG", "IMG_2622.JPG", "IMG_2653.JPG", "IMG_2693.JPG"]
  3.  
  4. Public Sub Form_Open()
  5.  
  6.   With Me
  7.     .Height = 400
  8.     .Width = 1610
  9.     .Padding = 5
  10.     .Arrangement = Arrange.Horizontal
  11.     .Center
  12.  
  13.   For iLoop As Integer = 0 To sMyPics.Max
  14.     CanvasPic(sMyPics[iLoop])
  15.   Next
  16.  
  17.  
  18. Public Function CanvasPic(sFile As String)
  19.  
  20.  
  21.   With hPB = New PictureBox(Me) As "PBs"
  22.     .Height = 400
  23.     .Width = 400
  24.     .Mode = PictureBox.Contain
  25.     .Padding = 5
  26.     .Picture = Picture.Load(sPath &/ sFile)
  27.  



[Imagen: PictsInARow.png]
[-] Los siguientes 1 usuarios dice gracias a cogier por este post:
  • tincho
    ¡Gracias!
#14

(17-11-2022, 17:25)cogier escribió:  .Mode = PictureBox.Contain

Me gusta esto, voy a probarlo.

Por cierto, hermosos paisajes los de las fotografías.

1 Saludo.
    ¡Gracias!
#15

(17-11-2022, 12:47)tincho escribió:  Encontré que hay una Struct de la siguiente forma:
size_t id;
char name[MagickPathExtent];
Image* images;
ImageInfo * image_info;
ExceptionInfo * exception;
MagickBooleanType insert_before;
MagickBooleanType image_pending;
MagickBooleanType debug;
size_t signature;

https://www.imagemagick.org/api/MagickWa...kWand.html

Este es el código modificado para usarlo como función, que no funciona:

Solo por curiosidad:

- "size_t" es un Long = 8 byte
- "char name [MagickPathExtent]": "char" es un Byte y "MagickPathExtent" es una Constante simbólica = 4096;
- "Image * " es un Puntero;
- "ImageInfo * " es un Puntero;
- "ExceptionInfo * "  es un Puntero;
- "MagickBooleanType" es un Enumeración, y es un Entero = Integer.

Por lo tanto y solo por curiosidad Big Grin , escribiría la Estructura de la siguiente manera:
GAMBAS
  1. Private Const MagickPathExtent As Integer = 4096
  2.  
  3.  
  4.   id As Long
  5.   char[MagickPathExtent] As Byte
  6.   images As Pointer
  7.   image_info As Pointer
  8.   exception As Pointer
  9.   insert_before As Integer
  10.   image_pending As Integer
  11.   bdebug As Integer
  12.   signature As Long



(17-11-2022, 19:24)vuott escribió:  Pero no se como asignar el puntero a dicha estructura.

El wiki italiano vuelve para ayudarte:

https://www.gambas-it.org/wiki/index.php...ne_esterna

"Los horizontes perdidos nunca regresan. " (F. Battiato, La stagione dell'amore, 1983)

"Las ondas nunca regresan. " (Genesis: Ripples - A trick of the tail, 1976)
[-] Los siguientes 1 usuarios dice gracias a vuott por este post:
  • tincho
    ¡Gracias!
#16

(17-11-2022, 19:24)vuott escribió:  escribiría la Estructura de la siguiente manera:

Gracias Vuott, probare así a ver como va.

1 Saludo.
    ¡Gracias!
#17

(17-11-2022, 14:53)Shell escribió:  Shell "convert -define jpegConfusedize=150x150 '" & aPFiles[i] & "' -auto-orient -thumbnail 128x128 '" & aThumbs[i] & "'" Wait[/i][/i]

Bueno no se si probaste esto en tu sistema pero en el mio me arruino las fotos que use para hacer el test. asi que recomiendo no usar esto.

1 Saludo.
    ¡Gracias!
#18

(17-11-2022, 20:25)tincho escribió:  probare así a ver como va.

tincho, probé mi Estructura y te dijo que a mi funciona. Shy

"Los horizontes perdidos nunca regresan. " (F. Battiato, La stagione dell'amore, 1983)

"Las ondas nunca regresan. " (Genesis: Ripples - A trick of the tail, 1976)
[-] Los siguientes 1 usuarios dice gracias a vuott por este post:
  • tincho
    ¡Gracias!
#19

Cita:Por cierto, hermosos paisajes los de las fotografías.

Estas son fotos de mi isla. Las he puesto en la web, para que puedas ver las imágenes más grandes.

Guernsey views
[-] Los siguientes 1 usuarios dice gracias a cogier por este post:
  • tincho
    ¡Gracias!
#20

(18-11-2022, 00:47)vuott escribió:  tincho, probé mi Estructura y te dijo que a mi funciona. Shy

Perfecto, es una buena noticia.
En estos momentos estoy con la interfaces y una clase que hereda de Task que es un poco rebelde, en cuanto termine eso continuare con la función con Extern.

1 Saludo.
    ¡Gracias!


Posibles temas similares…
Tema / Autor Respuestas Vistas Último mensaje

Salto de foro:


Usuarios navegando en este tema: 1 invitado(s)