Crear Catalogo de Fotos - Forum

Forum Navigation
You need to log in to create posts and topics.

Crear Catalogo de Fotos

Necesito hacer lo siguiente:

. poder cargar una imagen a mi aplicacion desde la pc

. Poder Guardar la misma en mi base de datos mysql

. Mostrar esta imagen en un Objeto Imagen desde la Base de datos

Es Posible esto?

Puedo usar la opcion FileInput o es solo para cargar textos?

@gustavo1973 echa un vistazo a la app de ejemplo para el plugin FabricJS.
Ahí verás como cargar una imagen desde el disco a tu app y como transformarla en un formato que puedas guardar en una base de datos (hay varias posibilidades).

Saludos.

@luishp

estoy haciendo pruebas con ese plugin y me surgen algunas preguntas:

  1. Al Cargar una imagen dentro del container, se puede ajustar la imagen cargada para que se adapte al tamaño del container ? podria ser quizas usando "fabScaleToHeight" pero me pide el nombre del objeto y no se cual es
  2. Al exportar desde dicho plugin si quiero guardar ejemplo en la base de datos deberia ser la opcion "Base64"?  y usar un capo tipo BLOB en Mysql?

Al Cargar una imagen dentro del container, se puede ajustar la imagen cargada para que se adapte al tamaño del container ? podria ser quizas usando "fabScaleToHeight" pero me pide el nombre del objeto y no se cual es

@gustavo1973 el nombre del objeto se lo puedes asignar al crear el objeto. Es opcional y se hace solo si quieres manipularlo posteriormente mediante código, como es tu caso.

Al exportar desde dicho plugin si quiero guardar ejemplo en la base de datos deberia ser la opcion "Base64"? y usar un capo tipo BLOB en Mysql?

Por ejemplo. También puedes utilizar SVG o JSON si quieres guardar los objetos como editables. Todos estos formatos son de texto, no binarios, lo que facilita mucho las cosas.

Saludos.

Hola, coloco a modo de reflexión, quizás estoy equivocado pero es lo que suelo hacer y puede que sirva mencionarlo en este caso.

¿Es necesario guardar la imagen en la base de datos?. Me lo he preguntado hace unos años y en mi opinión no resulta lo mejor. Me parece que lo mejor es guardar la ruta donde hemos subido la imagen y no la imagen en si, teniendo en cuenta que todas las imágenes irán subidas al mismo directorio incluso no necesitaríamos ni la ruta en la base de datos, solo el nombre del archivo de imagen. Después con VisualNeo podríamos manejarlo fácilmente con un objeto imagen, la ruta fija y una variable en la parte de nombre que vaya variando dependiendo del registro donde nos encontremos.

¿Es necesario guardar la imagen en la base de datos?. Me lo he preguntado hace unos años y en mi opinión no resulta lo mejor. Me parece que lo mejor es guardar la ruta donde hemos subido la imagen y no la imagen en si, teniendo en cuenta que todas las imágenes irán subidas al mismo directorio incluso no necesitaríamos ni la ruta en la base de datos, solo el nombre del archivo de imagen. Después con VisualNeo podríamos manejarlo fácilmente con un objeto imagen, la ruta fija y una variable en la parte de nombre que vaya variando dependiendo del registro donde nos encontremos.

Estoy completamente de acuerdo, aunque si las imágenes son pequeñas puede haber situaciones en que sea interesante guardarlas en la base de datos.

@luishp

Dices que se puede asignar un nombre a un objeto al momento de crearlo, pero no veo mimguna opcion en el plugin para eso, o el objeto al que te refieres es el container mismo creado al inicializar el plugin?

entiendo mal o el plugin lo que hace es crear un lienzo en el container en el cual ir componiendo con imagenes y textos un collage final?

yo la imagen la cargo al container mediante un "file Input" mediante "favloadfile"

 

 

@palamar

Ya me lo habia comentado luis a eso mismo, pero te planteo mi situcion y no se si es factible , yo quiero que cada usuario que use mi programa pueda crear su propia galeria a mostrar, que ellos pueden subir sus fotos sin interaccion de mi parte, usando alguno de los plugins que hay creados hasta el momento se pueden subir archivos al servidor pero sin poder cambiarles el nombre ni nada, imaginate que 2 usuarios suben fotos que tengan el mismo nombre de casualidad , ahi ya tenemos un lio, le mostraria a uno de los usuarios la foto que no es

por eso es que me platee la opcion de poder guardar esas imagenes en mi base de datos y relacionarlas con cada usuario

creo que se necesita un plugin mas completo para carga de archivos al servidor, que no solo permita usar varias intancias del mismo al mismo tiempo y que tambien permita poder modificarles el nombrer programaticamente a nuestro gusto antes de subirlo

@gustavo1973 tienes razón, te adjunto el plugin con el comando fabLoadFile corregido. Ahora es posible asignarle un nombre a la imagen que carga para poder manipularla posteriormente mediante código. Incluiré esta modificación en la próxima actualización.

Saludos.

Uploaded files:
  • You need to login to have access to uploads.

@luishp

lo que si no se si hay opcion dentro del plugin una vez cargada la imagen es la de ajustarla al container sin intervencion, o sea mediante codigo en ancho y alto, que se adapte al tamaño del container antes de exportarla.

porque la exportacion a cualquier formato es de todo el container, no de algun objeto en particualar y algunas imagenes al cargarlas quedan o mas chicas o mas grandes

 

@gustavo1973 si se puede, te adjunto ejemplo ajustando el ancho.
Se necesita la última versión del puglin Fabric: Version 4.2 (2021/10/30)
Saludos.

Uploaded files:
  • You need to login to have access to uploads.

@luishp

Estuve probando tu ejemplo, si le agrego el siguiente codigo ya no funciona

Solo aplica uno de los 2 cambios sobre la imagen, pero no ambos para ajustarla en ancho y alto

SetVar [n] [n]+1
fabLoadFile "Container1" "image[n]"
Wait 1000
    fabScaleToWidth "Container1" "image[n]" 450
    fabScaleToHeight "Container1" "image[n]" 450
EndWait

 

Pregunta:

No se puede sin usar el plugin fabric, usando simplemente FIleInput para cargar la imagen  , convertirla a Base64 de alguna manera para luego guardarla en la base de datos?

 

Solo aplica uno de los 2 cambios sobre la imagen, pero no ambos para ajustarla en ancho y alto

@gustavo1973 Solo puedes ajustar al ancho o al alto, si lo hicieras con ambos a la vez deformarías la imagen (se estiraría)

No se puede sin usar el plugin fabric, usando simplemente FIleInput para cargar la imagen  , convertirla a Base64 de alguna manera para luego guardarla en la base de datos?

Hasta donde yo se la única manera de pasar una imagen a Base64 es utilizando el elemento <canvas> que es justo lo que hace el plugin FabricJS. La ventaja del plugin es que además puedes cambiar la imagen de tamaño o recortarla. Yo creo que tienes que hacer algunos cálculos y ver previamente si la imagen es apaisada o vertical, eligiendo un ajuste u otro según el formato de salida que quieras darle.

Saludos.

@luishp

Entiendo, igual aunque se estire la imagen no estaria mal agregarle la opcion de ajustar la imagen aunque se estire a futuro al plugin

Pregunta. Como se hace para tomar la imagen tal cual se carga mediante FileInput, sin convertirla, y subirla en el formato original a la base de datos, la imagen cargada queda almacenada en alguna variable? porque en el ejemplo carga un texto

Pregunta. Como se hace para tomar la imagen tal cual se carga mediante FileInput, sin convertirla, y subirla en el formato original a la base de datos, la imagen cargada queda almacenada en alguna variable? porque en el ejemplo carga un texto

@gustavo1973 creo que se podría hacer mediante un plugin para subir archivos a una base de datos o un formulario y script PHP a medida.

Entiendo, igual aunque se estire la imagen no estaria mal agregarle la opcion de ajustar la imagen aunque se estire a futuro al plugin

Eso ya puedes hacerlo con un sencillo cálculo. Te adjunto ejemplo.

Uploaded files:
  • You need to login to have access to uploads.

@luishp

Funciona de maravilla Luis, Muchas gracias por tu ayuda

Y si la imagen importada es de menor tamaño que el container se aplica el mismo calculo o se multiplica en vez de dividir

Perdon funciona con todos los tamaños de imagenes

luishp has reacted to this post.
luishp