Foros del Web » Programando para Internet » PHP »

ImageMagick, instalación y funcionamiento

Estas en el tema de ImageMagick, instalación y funcionamiento en el foro de PHP en Foros del Web. Buenas!!! les largo mi duda: Quiero instalar en Windows (Apache 2, PHP 5), ImageMagick para PHP para poder manipular imágenes en formatos que GD no ...
  #1 (permalink)  
Antiguo 29/08/2006, 17:24
Avatar de raulalva3  
Fecha de Ingreso: julio-2005
Ubicación: San Juan - Argentina
Mensajes: 44
Antigüedad: 18 años, 9 meses
Puntos: 0
ImageMagick, instalación y funcionamiento

Buenas!!! les largo mi duda:
Quiero instalar en Windows (Apache 2, PHP 5), ImageMagick para PHP para poder manipular imágenes en formatos que GD no acepta (como EPS y PDF). El problema es que busqué ayuda en la instalación y aparentemente tengo que instalarlo con el ejecutable si lo quiero como aplicación externa o copiar las DLL correspondientes a la carpeta de EXT de PHP. Según tengo entendido (leí en ForosDelWeb), al hacerlo de la segunda forma (como extensión) PHP me admitirá ciertas funciones sin tener que usar exec(), como debería hacer si opto por la primera. Como lo que quiero es que PHP me admita las funciones tipo xxxx_yyyy(), baje y copie las DLL de magickwand.org/download/php/windows/php-5.0.4 a la carpeta EXT de PHP e hice las modificaciones correspondientes en el PHP.INI para que tomara las extensiones. Ahora... el problema es que no se si lo instalé bien, si me funciona y tampoco se como utilizarlo . Busqué manuales que me dijeran como se usa ImageMagick con PHP pero como ya veo en este sitio, a varios les pasa lo mismo, no encuentran (o al menos no en español jeje).
Me gustaría, si alguien conoce alguno, que me digan de algún link para aprender a instalar y usar ImageMagick con PHP.
Si alguien ya lo uso, agradecería que posteara alguna forma de comprobar que lo tengo bien instalado, o si me falta algo, y algún ejemplo "muy básico" de como usarlo (después me adentro solo, es que soy muy lento vió?), además de los tips que deba tener en cuenta con respecto al tema.
  #2 (permalink)  
Antiguo 29/08/2006, 18:34
Avatar de chalchis  
Fecha de Ingreso: julio-2003
Mensajes: 1.773
Antigüedad: 20 años, 9 meses
Puntos: 21
Mensaje

yo lo uso o mas bien invoco a imagemagick como programa externo sobre windows ya revisaste en el sitio oficial

http://www.imagemagick.org/script/api.php

saludos
__________________
gerardo
  #3 (permalink)  
Antiguo 30/08/2006, 08:44
Avatar de raulalva3  
Fecha de Ingreso: julio-2005
Ubicación: San Juan - Argentina
Mensajes: 44
Antigüedad: 18 años, 9 meses
Puntos: 0
Cita:
Iniciado por chalchis Ver Mensaje
yo lo uso o mas bien invoco a imagemagick como programa externo sobre windows
El problema es que tengo entendido que en los servidores, si bien es difícil encontrar uno que funcione con ImageMagick, es más difícil aún que lo utilicen como aplicación externa.
De todos modos, me gustaría ver tu explicación sobre como lo instalaste como aplicación externa y como lo invocas desde PHP porque el instalador que bajé yo me preguntaba para que lenguaje lo quería instalar y no me figuraba el susodicho.
Cita:
Iniciado por chalchis Ver Mensaje
ya revisaste en el sitio oficial imagemagick.org/script/api.php
saludos
Si, ya lo revisé pero no encuentro información... o mi inglés no me deja verla , por eso buscaba algo en castellano.
De la web que me recomiendas bajé las DLL necesarias para instalarlo como extensión de PHP. Paso que ya concreté, ahora quiero comprobar de alguna forma si lo tengo bien instalado, y pues claro, aprender a usarlo .

Gracias!
  #4 (permalink)  
Antiguo 30/08/2006, 08:53
Avatar de chalchis  
Fecha de Ingreso: julio-2003
Mensajes: 1.773
Antigüedad: 20 años, 9 meses
Puntos: 21
bueno el imagemagick lo instalas como cualquier otro programa (en windows)

desde php lo unico que hago es poner la ruta de donde se instalo el imagemagick
asi

$rutaconver="C:\ImageMagick-6.2.9-Q16\convert.exe ";
$ejecuta=exec("$rutaconver $dato1 $dato2");

$dato 1 es la ruta de tu imagen de origen ejmplo
$dato1="D:/phpprogramas/WWW/sitio.mx/morpheus/Fotos_Usuarios/original.tif";

$dato 2 es la ruta de tu nueva imagen
$dato2=="D:/phpprogramas/WWW/sitio.mx/morpheus/Fotos_Usuarios/nombre_xx.jpg";

aqui lo que hago es convertir la imagen origen.tif en jpg con el nombre que tu quieras nueva.jpg


y eso es todo

saludos

ahh otra cosa si usas sessiones en tu pagina y en esa mimas invocas el imagemagick antes pon algo asi

session_write_close();
$rutaconver="C:\ImageMagick-6.2.9-Q16\convert.exe ";
$ejecuta=exec("$rutaconver $dato1 $dato2");

saludos
__________________
gerardo
  #5 (permalink)  
Antiguo 30/08/2006, 16:39
Avatar de raulalva3  
Fecha de Ingreso: julio-2005
Ubicación: San Juan - Argentina
Mensajes: 44
Antigüedad: 18 años, 9 meses
Puntos: 0
Cita:
Iniciado por chalchis Ver Mensaje
bueno el imagemagick lo instalas como cualquier otro programa (en windows)

desde php lo unico que hago es poner la ruta de donde se instalo el imagemagick
asi
$rutaconver="C:\ImageMagick-6.2.9-Q16\convert.exe ";
$ejecuta=exec("$rutaconver $dato1 $dato2");
$dato 1 es la ruta de tu imagen de origen ejmplo
$dato1="D:/phpprogramas/WWW/sitio.mx/morpheus/Fotos_Usuarios/original.tif";
$dato 2 es la ruta de tu nueva imagen
$dato2=="D:/phpprogramas/WWW/sitio.mx/morpheus/Fotos_Usuarios/nombre_xx.jpg";
aqui lo que hago es convertir la imagen origen.tif en jpg con el nombre que tu quieras nueva.jpg
y eso es todo
saludos
Pude instalar y hacer andar por medio de líneas de comandos el programa y procesar algunas fotos. Ahora... tengo un gravísimo problema que es que cuando quiero pasar fotos que estan en .EPS a .JPG pierde mucha calidad y le agrega como una especie de ruido, probe con "noise", "quality", . Cuando modifico la imagen con Photoshop, todo sale bien. Tendrás alguna idea de porqué pasa esto?
  #6 (permalink)  
Antiguo 30/08/2006, 16:47
Avatar de chalchis  
Fecha de Ingreso: julio-2003
Mensajes: 1.773
Antigüedad: 20 años, 9 meses
Puntos: 21
prueba convirtiendolo a png

prueba convirtiendolo a png recuerda que imagemagick usa varios formatos
te soy sincero en cuanto a porque pierden calidad no se mucho pero se que es obvio que si conviertes una imagen de formato de mayor resolucion a formato menor la imagen se distorciona prueba con png a ver que su cede

porcierto en quality lo pones al 100

saludos


Cita:
Iniciado por raulalva3 Ver Mensaje
Pude instalar y hacer andar por medio de líneas de comandos el programa y procesar algunas fotos. Ahora... tengo un gravísimo problema que es que cuando quiero pasar fotos que estan en .EPS a .JPG pierde mucha calidad y le agrega como una especie de ruido, probe con "noise", "quality", . Cuando modifico la imagen con Photoshop, todo sale bien. Tendrás alguna idea de porqué pasa esto?
__________________
gerardo

Última edición por chalchis; 30/08/2006 a las 16:57
  #7 (permalink)  
Antiguo 30/08/2006, 16:58
Avatar de raulalva3  
Fecha de Ingreso: julio-2005
Ubicación: San Juan - Argentina
Mensajes: 44
Antigüedad: 18 años, 9 meses
Puntos: 0
Cita:
Iniciado por chalchis Ver Mensaje
prueba convirtiendolo a png recuerda que imagemagick usa varios formatos
te soy sincero en cuanto a porque pierden calidad no se mucho pero se que es obvio que si conviertes una imagen de formato de mayor resolucion a formato menor la imagen se distorciona prueba con png a ver que su cede
saludos
Probé convirtiéndola a PNG y me causa exactamente el mismo problema.
No es pérdida de calidad exactamente el problema... la foto resultante queda como pixelada. Como si se pasara a GIF, por ejemplo, y se ve como ruidosa la foto. Me desespera porque ya probé casi todos las opciones del comando "convert".
Gracias por la ayuda!
  #8 (permalink)  
Antiguo 31/08/2006, 09:23
Avatar de raulalva3  
Fecha de Ingreso: julio-2005
Ubicación: San Juan - Argentina
Mensajes: 44
Antigüedad: 18 años, 9 meses
Puntos: 0
Perdón por la insistencia pero cuando la cabeza no me da más... pregunto jeje.
El programa me funciona bien, y si yo ejecuto por línea de comandos la acción que quiera me anda. El problema lo tengo cuando lo quiero usar con PHP. Al hacerlo, y siguiendo las instrucciones de "chalchis", además de probar con diferentes variantes, ejecuto la página en el navegador y no pasa nada.
Qué será? Puedo ver de alguna forma los errores que se produzcan en este tipo de procesos?
  #9 (permalink)  
Antiguo 31/08/2006, 17:33
Avatar de chalchis  
Fecha de Ingreso: julio-2003
Mensajes: 1.773
Antigüedad: 20 años, 9 meses
Puntos: 21
Sonrisa No se si entedi pero esperas que se visualize algo?

No se si entedi pero esperas que se visualize algo?

porque no es asi todo se hace de manera interna en el server
es decir si conviertes una imagen en formato tif a jpg ese jpg
esta en alguna ruta que tu definas y entonces procedes a visualizarla con html como cualquier otra imagen que insertes en un html


saludos
__________________
gerardo
  #10 (permalink)  
Antiguo 01/09/2006, 08:34
Avatar de raulalva3  
Fecha de Ingreso: julio-2005
Ubicación: San Juan - Argentina
Mensajes: 44
Antigüedad: 18 años, 9 meses
Puntos: 0
No, no esperaba ver nada. Sólo que hiciera la conversión. Cuando chequeo la carpeta a la que apunté no esta el archivo que me tendría que haber generado. El mismo archivo, y en la misma ubicación, si lo puedo tratar desde la línea de comandos.
  #11 (permalink)  
Antiguo 01/09/2006, 08:42
Avatar de chalchis  
Fecha de Ingreso: julio-2003
Mensajes: 1.773
Antigüedad: 20 años, 9 meses
Puntos: 21
porque no publicas el codigo y ya revisaste en los logs de error de apache digo si tienes acceso a el ahi podras ver los ultimos proceso que se ejecutan

saludos

Cita:
Iniciado por raulalva3 Ver Mensaje
No, no esperaba ver nada. Sólo que hiciera la conversión. Cuando chequeo la carpeta a la que apunté no esta el archivo que me tendría que haber generado. El mismo archivo, y en la misma ubicación, si lo puedo tratar desde la línea de comandos.
__________________
gerardo
  #12 (permalink)  
Antiguo 07/09/2006, 03:07
 
Fecha de Ingreso: septiembre-2006
Mensajes: 1
Antigüedad: 17 años, 7 meses
Puntos: 0
Cita:
Iniciado por chalchis Ver Mensaje
desde php lo unico que hago es poner la ruta de donde se instalo el imagemagick
asi
(...)
ahh otra cosa si usas sessiones en tu pagina y en esa mimas invocas el imagemagick antes pon algo asi

session_write_close();
$rutaconver="C:\ImageMagick-6.2.9-Q16\convert.exe ";
$ejecuta=exec("$rutaconver $dato1 $dato2");

saludos
Perdón, acabo de entrar y me interesa el tema, pero no entiendo por qué hay que cerrar la sesión.
En concreto, a mí me interesaría mostrar un thumbnail en jpg de un archivo tiff escogido por un usuario web, y para el control de los usuarios sí utilizo sesiones.
Todavía no he intentado nada, ni siquiera he instalado el Image Magick, sólo me estaba informando sobre cómo hacer el tema de conversion tiff-->jpeg desde PHP, y al ver esto de las sesiones ya me surgen las primeras preguntas.

No es posible ejecutar un programa externo sin cerrarlas?
Gracias
  #13 (permalink)  
Antiguo 07/09/2006, 08:28
Avatar de chalchis  
Fecha de Ingreso: julio-2003
Mensajes: 1.773
Antigüedad: 20 años, 9 meses
Puntos: 21
Pues mira yo estuve averiguando el motivo por el cual mi aplicacion tardaba en ejecutarse una vez que aplique sesiones en realidad no estas haciendo nada malo con el session_write_close(); porque eso por lo que he investigado lo hace automaticamente pero para cuestiones de mi caso encontre un tip
para que no hubiera problema, en este sitio

http://bugs.php.net/bug.php?id=22526

http://www.forosdelweb.com/showthrea...51#post1673951

pero pues has las pruebas, yo en mi caso use frames y en cada frame invocaba la sesion por cuestiones requeridas

pero como menciono en el post cuando ponia solo uan invocacion de la sesion no habia problema el problema era cuando hacia invocacion de la sesion en los frames

saludos


Cita:
Iniciado por plantalone Ver Mensaje
Perdón, acabo de entrar y me interesa el tema, pero no entiendo por qué hay que cerrar la sesión.
En concreto, a mí me interesaría mostrar un thumbnail en jpg de un archivo tiff escogido por un usuario web, y para el control de los usuarios sí utilizo sesiones.
Todavía no he intentado nada, ni siquiera he instalado el Image Magick, sólo me estaba informando sobre cómo hacer el tema de conversion tiff-->jpeg desde PHP, y al ver esto de las sesiones ya me surgen las primeras preguntas.

No es posible ejecutar un programa externo sin cerrarlas?
Gracias
__________________
gerardo
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 07:28.