Foros del Web » Programando para Internet » PHP »

Error al redimencionar imagenes :(((

Estas en el tema de Error al redimencionar imagenes :((( en el foro de PHP en Foros del Web. hola tengo una clase que redimenciona unas fotos, con fotos bajadas de internet me funciona pero con unas fotos que toma una camara ip no ...
  #1 (permalink)  
Antiguo 04/03/2010, 09:52
Avatar de RIVERMILLOS  
Fecha de Ingreso: marzo-2010
Mensajes: 1.336
Antigüedad: 14 años, 1 mes
Puntos: 15
Error al redimencionar imagenes :(((

hola tengo una clase que redimenciona unas fotos, con fotos bajadas de internet me funciona pero con unas fotos que toma una camara ip no me sale el siguiente error

Código:
Warning: imagecopyresampled() expects parameter 2 to be resource, null given in C:\xampp\htdocs\DemoCamPhp\Logic\imageresize.php on line 78

Warning: imagepng() [function.imagepng]: Unable to open '../Vista/gran/min/Thumbs.db' for writing: Permission denied in C:\xampp\htdocs\DemoCamPhp\Logic\imageresize.php on line 86

Warning: imagecreatefromjpeg() [function.imagecreatefromjpeg]: gd-jpeg, libjpeg: recoverable error: Corrupt JPEG data: premature end of data segment in C:\xampp\htdocs\DemoCamPhp\Logic\imageresize.php on line 37

Warning: imagecreatefromjpeg() [function.imagecreatefromjpeg]: '../Vista/gran/cama.gif' is not a valid JPEG file in C:\xampp\htdocs\DemoCamPhp\Logic\imageresize.php on line 37

Warning: imagecopyresampled() expects parameter 2 to be resource, boolean given in C:\xampp\htdocs\DemoCamPhp\Logic\imageresize.php on line 78
no se que pueda ser......

es como algo de permisos pero no se como lo puedo solucionar.

saludos
  #2 (permalink)  
Antiguo 04/03/2010, 10:34
Avatar de jackson666  
Fecha de Ingreso: noviembre-2009
Ubicación: Buenos Aires, Argentina
Mensajes: 1.971
Antigüedad: 14 años, 5 meses
Puntos: 65
Respuesta: Error al redimencionar imagenes :(((

Algo de permisos? Creo que el error es claro... Porque no usas un traductor?

http://translate.google.com.ar/?hl=e...on%20line%2078
__________________
HV Studio
Diseño y desarrollo web
  #3 (permalink)  
Antiguo 04/03/2010, 10:46
Avatar de RIVERMILLOS  
Fecha de Ingreso: marzo-2010
Mensajes: 1.336
Antigüedad: 14 años, 1 mes
Puntos: 15
Respuesta: Error al redimencionar imagenes :(((

muchas gracias por tu respuesta ya solucione aluguno de los errores con eso XD , pero esto sigue apareciendo estos


Warning: imagecreatefromjpeg() [function.imagecreatefromjpeg]: gd-jpeg, libjpeg: recoverable error: Corrupt JPEG data: premature end of data segment in C:\xampp\htdocs\DemoCamPhp\Logic\imageresize.php on line 37

Warning: imagecreatefromjpeg() [function.imagecreatefromjpeg]: '../Vista/gran/CAMARA1-20100304-103702.jpg' is not a valid JPEG file in C:\xampp\htdocs\DemoCamPhp\Logic\imageresize.php on line 37

ya los traduje pero no entiendo que puede ser??

saludos
  #4 (permalink)  
Antiguo 04/03/2010, 11:58
Avatar de HackmanC  
Fecha de Ingreso: enero-2008
Ubicación: Guatemala
Mensajes: 1.817
Antigüedad: 16 años, 2 meses
Puntos: 260
Sonrisa Respuesta: Error al redimencionar imagenes :(((

Hola,

No es una imagen JPEG standard o tiene metadatos en EXIF u otros. Algunas veces, algunas cámaras generan imágenes que no son compatibles 100% con la librería GD. Por mala suerte, la mayoría de veces no queda otra opción más que cambiar la cámara o usar otra librería que no sea GD, como ImageMagick.

Ya me ha sucedido un par de veces, pero ... posiblemente no sea el mismo problema y encuentres alguna forma de hacerlo funcionar con GD.

Saludos,
  #5 (permalink)  
Antiguo 04/03/2010, 12:10
Avatar de RIVERMILLOS  
Fecha de Ingreso: marzo-2010
Mensajes: 1.336
Antigüedad: 14 años, 1 mes
Puntos: 15
Respuesta: Error al redimencionar imagenes :(((

cin ImageMagick puede suceder lo mismo???
  #6 (permalink)  
Antiguo 04/03/2010, 12:45
Avatar de HackmanC  
Fecha de Ingreso: enero-2008
Ubicación: Guatemala
Mensajes: 1.817
Antigüedad: 16 años, 2 meses
Puntos: 260
Sonrisa Respuesta: Error al redimencionar imagenes :(((

Hola,

Las probabilidades que suceda lo mismo con ImageMagick son muy bajas. ImageMagick es una aplicación mucho mas avanzada (compleja) que GD. Pero la desventaja es que ¿creo? que no existe una API para PHP, tienes que ejecutar el comando 'convert -geometry ... etc.,' con la instrucción exec() de PHP. Por cierto ... no te tienes que quebrar la cabeza haciendo cálculos para re-dimensionar proporcionalmente y puedes aplicar muchos efectos a los thumbnails.

Saludos,
  #7 (permalink)  
Antiguo 04/03/2010, 13:32
Avatar de RIVERMILLOS  
Fecha de Ingreso: marzo-2010
Mensajes: 1.336
Antigüedad: 14 años, 1 mes
Puntos: 15
Respuesta: Error al redimencionar imagenes :(((

como lo harias tu en mi caso pues con gd hiba bien hasta que lo probe con la simagenes de la camara pues con estas son las que voy a utilizar.... ya he mirado lo de imagemagick pero me he lidiado mucho no me funciona el exec ...porfa ayudame de que formas puedo hacer los thumbnails..

saludos
  #8 (permalink)  
Antiguo 04/03/2010, 17:27
Avatar de HackmanC  
Fecha de Ingreso: enero-2008
Ubicación: Guatemala
Mensajes: 1.817
Antigüedad: 16 años, 2 meses
Puntos: 260
Sonrisa Respuesta: Error al redimencionar imagenes :(((

Hola,

La forma de convertir con ImageMagick es bastante diferente que con GD, puesto que el primero corre en una línea de comandos ... es un programa que corre independientemente de PHP. Primero tienes que instalar ImageMagick para tu sistema operativo, Windows, Linux, Cygwin, etc.,

Un prototipo de programa en PHP para ejecutar ImageMagick en Windows podría ser:

Código PHP:
<?php
$image_magick_path 
'C:\\ImageMagick\\ImageMagick-6.4.4-Q16\\convert.exe';
$path_to_files 'C:\\Imagenes\\';
$input_file $path_to_files 'imagen.jpeg';
$output_file $path_to_files 'imagen.gif';

exec ($image_magick_path ' -resize 128x128 ' $input_file ' ' $output_file);
// exec ($image_magick_path . ' -thumbnail 128 ' . $input_file . ' ' . $output_file);
?>
El comando resize tiene muchas variaciones 128, modifica la altura a 128 y el ancho proporcionalmente, 128x128 hace que la imagen se ajuste a 128 de ancho o 128 de alto ... 128x128! lo cambia a 128x128 sin mantener la proporción, etc. (Puede ser que en esta parte me haya equivocado, lee la documentación de ImageMagick, allí está mejor explicado)

Saludos,

ps:

Aunque revisando en el sitio de ImageMagick muestra dos módulos para PHP y un wrapper, nunca los he usado; solamente el módulo para Perl que viene en la misma distribución de Perl.
  #9 (permalink)  
Antiguo 05/03/2010, 14:08
Avatar de RIVERMILLOS  
Fecha de Ingreso: marzo-2010
Mensajes: 1.336
Antigüedad: 14 años, 1 mes
Puntos: 15
Respuesta: Error al redimencionar imagenes :(((

pues no se pero el ejemplo que me pasaste tampoco me funciona sera que debo configurar alfo del programa o solo basta con instalarlo??

saludos
  #10 (permalink)  
Antiguo 05/03/2010, 15:16
Avatar de HackmanC  
Fecha de Ingreso: enero-2008
Ubicación: Guatemala
Mensajes: 1.817
Antigüedad: 16 años, 2 meses
Puntos: 260
Sonrisa Respuesta: Error al redimencionar imagenes :(((

Hola,

Pues no ... la instalación de ImageMagick hace todo lo necesario para ejecutarse.

Código PHP:
<?php
$image_magick_path 
'"C:\\Archivos de programa\\ImageMagick-6.4.4-Q16\\convert.exe"';
$path_to_files 'C:\\WINDOWS\\Temp\\';
$input_file $path_to_files 'Susan_Constant_by_Radojavor.jpg';
$output_file $path_to_files 'Susan_Constant_by_Radojavor.png';
$command '-resize 1200x960 -bordercolor white -border 2 ( +clone -background black -shadow 60x4+5+5 ) +swap -background none -layers merge +repage';

exec ("$image_magick_path $input_file $command $output_file");
echo (
"$image_magick_path $input_file $command $output_file");
?>
Los PATH a todos los documentos que tengan espacios en el nombre deben ir entre " ". Por ejemplo $image_magick_path = comilla simple + comilla doble. Los directorios donde vas a leer y guardar las imágenes tiene que tener permisos de escritura y lectura. Normalmente en Windows el directorio C:\WINDOWS\Temp tiene permisos de escritura ... es donde guarda los archivos PHP cuando se suben.

De allí todo funciona perfecto ... inclusive con mis imágenes que no pude abrir con GD, que por cierto todavía las tengo guardadas, y todavía GD genera el mismo error que mostraste, pero ImageMagick no.

Tengo Apache/2.2.14 (Win32) PHP/5.2.11 ImageMagick-6.4.4-Q16
Saludos,

ps:

Si vas a subir esto a un servidor Linux, es adecuado que averigües con antelación si tienen instalado ImageMagick.

Etiquetas: imagenes, redimencionar
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 20:18.