Foros del Web » Programando para Internet » PHP »

Recursos de imagen y BLOB

Estas en el tema de Recursos de imagen y BLOB en el foro de PHP en Foros del Web. Hola a todos! ante todo quería saludaros ya que es la primera vez que escribo en el foro (aunque ni por asomo la primera que ...
  #1 (permalink)  
Antiguo 01/09/2008, 14:30
 
Fecha de Ingreso: septiembre-2008
Mensajes: 3
Antigüedad: 15 años, 7 meses
Puntos: 0
Recursos de imagen y BLOB

Hola a todos! ante todo quería saludaros ya que es la primera vez que escribo en el foro (aunque ni por asomo la primera que lo visito)

Tengo un problema para una aplicación que hace un uso intensivo de imágenes.

Mi problema viene a raiz de que genero imágenes dinámicas que edito con las funciones de la GD y he entrado en conflicto con un modulo llamado imagemagick que voy a utilizar para aplicar perspectiva a las imágenes.

El problema viene de que GD trabaja con recursos (resource, no se como se traducirá adecuadamente en castellano) de imagen como el devuelto por el imagecreatefromjpeg() o cualquier otra función de la librería que trabaje con ellos y el modulo solo trabaja con ficheros o blobs e imagemagick trabaja con blobs.

Esto no sería un problema pero el caso es que yo genero imágenes dinámicamente a partir de otras del disco duro (en el disco duro sólo tengo una que he de presentar de varias maneras, distorsionada, de un tamaño, de otro, sin distorsionar...) por lo que no puedo confiar en ello.

¿Hay alguna manera de obtener un BLOB a partir de un recurso de imagen de php que no sea guardando un fichero temporal y usando fopen y fread? estaría muy agradecido

Un saludo!
  #2 (permalink)  
Antiguo 01/09/2008, 20:09
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Respuesta: Recursos de imagen y BLOB

Hola mordisko,

Creo tienes un problema de conceptos, los campos BLOB son campos en la base de datos para guardar datos binarios. Si lo que quieres es trabajar con ImageMagick y GD, estos trabajan sobre recursos directamente.

Saludos.
  #3 (permalink)  
Antiguo 02/09/2008, 06:36
 
Fecha de Ingreso: septiembre-2008
Mensajes: 3
Antigüedad: 15 años, 7 meses
Puntos: 0
Respuesta: Recursos de imagen y BLOB

No, no trabaja sobre gd. El problema es que he dcho imagemagick donde queria decir magikwand que es el módulo de php estoy un poco despistado.

Magikwand puede leer imágenes a partir de:
  • Archivos (MagickReadImage -- reads an image or image sequence)
  • Blobs (MagickReadImageBlob -- reads an image or image sequence from a BLOB)

En muchos lados he visto como introducir en una base de datos una imagen en un campo BLOB a través de fopen, fread y su posterior insert, así como también vi como recuperarlos a través de una consulta normal, cambiando el header y mostrando la imagen con la función correspondiente a la extensión.

Sin embargo yo estoy trabajando con una imagen que no está en el disco duro, es un recurso de imagen sacado a partir de imagecreatefromjpeg() y la única manera de trabajar con ella en magikwand es o grabándola temporalmente en disco (preferiria tener que evitar esto...) o con un blob, por eso pregunto si hay alguna manera de obtener la cadena a introducir en un campo blob si lo único que tengo es un recurso de imagen.

Espero haber sido más claro, gracias por la contestacion!
  #4 (permalink)  
Antiguo 02/09/2008, 14:01
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Respuesta: Recursos de imagen y BLOB

Hola mordisko,

Como te comentaba un campo blob es un campo binario en la base de datos, por lo que veo de esta extensión lo que hace es cargar desde un Binary, que es precisamente el objeto binario, con PHP lo puedes obtener facilmente desde la libreria GD usando las funciones imagejpg/gif/png:
Código PHP:
ob_start();
imagejpg($gd);
$blob ob_get_clean(); 
Saludos.
  #5 (permalink)  
Antiguo 02/09/2008, 14:33
 
Fecha de Ingreso: septiembre-2008
Mensajes: 3
Antigüedad: 15 años, 7 meses
Puntos: 0
Respuesta: Recursos de imagen y BLOB

Muchas gracias por contestar. Las funciones de bufer que me has descubierto con el ob_start() han solucionado mi problema!

Un saludo!
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 15:08.