Foros del Web » Programando para Internet » PHP »

PhpImagen.lib ayuda con mensaje de error

Estas en el tema de PhpImagen.lib ayuda con mensaje de error en el foro de PHP en Foros del Web. hola bueno espero que alguien me pueda ayudar sucede que estoy usando la libreria phpimagen y cuando no encuentra una imagen muestra un mensaje lo ...
  #1 (permalink)  
Antiguo 10/04/2008, 10:04
 
Fecha de Ingreso: abril-2003
Ubicación: Santiago
Mensajes: 212
Antigüedad: 21 años
Puntos: 0
PhpImagen.lib ayuda con mensaje de error

hola bueno espero que alguien me pueda ayudar sucede que estoy usando la libreria phpimagen y cuando no encuentra una imagen muestra un mensaje lo que quiero hacer es qcambiar esa imagen ojala alguien me pueda ayudar la idea es poner una imagen que quiero crear. agradesco de antemano todo.
Atte.
Goomba
  #2 (permalink)  
Antiguo 10/04/2008, 10:19
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Re: PhpImagen.lib ayuda con mensaje de error

vaya lo ke kieres es poner tu propio ¿mensaje o imagen de error?

pues vamos, a pegar el codigo... hay ke modificarlo un poko!!!
  #3 (permalink)  
Antiguo 10/04/2008, 10:31
 
Fecha de Ingreso: abril-2003
Ubicación: Santiago
Mensajes: 212
Antigüedad: 21 años
Puntos: 0
Re: PhpImagen.lib ayuda con mensaje de error

si gracias es que mi poroblema es que la pagina tien un formato al mostrar la imagen de error se me descuadra compeltamente.
gravcias nuevamente
atte.
Goomba
  #4 (permalink)  
Antiguo 10/04/2008, 10:42
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Re: PhpImagen.lib ayuda con mensaje de error

claro... tienes razon, irrumpe con el estilo... pero ¿donde esta el codigo? en mi mente no...

PDTA: pega el codigo...

Última edición por pateketrueke; 10/04/2008 a las 10:43 Razón: PDTA: pega el codigo...
  #5 (permalink)  
Antiguo 10/04/2008, 10:48
 
Fecha de Ingreso: abril-2003
Ubicación: Santiago
Mensajes: 212
Antigüedad: 21 años
Puntos: 0
Re: PhpImagen.lib ayuda con mensaje de error

mmm uso la liubreria de phpimagen que baje de la web a ver
este es el codigo de dicha lib
buerno el codigo es muy largo de la lib asi que te dejo la pagina
http://www.phperu.net/phpimagen/
  #6 (permalink)  
Antiguo 10/04/2008, 10:57
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Re: PhpImagen.lib ayuda con mensaje de error

Esta es la funcion que expone la informaciondel error... solo basta que identifiques los colores usados, nose... la letra?? y los cambies a tu antojo.... yo no se de tus gustos

Código PHP:
function error($msg) {
        
$width strlen($msg)*8;
        
$width = ($width 370) ? 370 $width;
        
$url = (strlen($this->url) > 45) ? substr($this->url,0,33)."...".substr($this->url,-10) : $this->url;
        
$this->rw $width;
        
$this->rh 145;
        
$this->source = @imagecreate ($this->rw$this->rh);
        
$background_color imagecolorallocate ($this->source230230230);
        
$text_color_red imagecolorallocate ($this->source255,0,0);
        
$text_color_black imagecolorallocate ($this->source505050);
        
$text_color_green imagecolorallocate ($this->source01500);
        
$text_color_blue imagecolorallocate ($this->source00150);
        
imagestring ($this->source51920"ERROR: LA IMAGEN NO PUDO SER CARGADA"$text_color_red);
        
imagestring ($this->source31650"Hubo un error procesando la imagen:"$text_color_black); 
        
imagestring ($this->source31665$url$text_color_green); 
        
imagestring ($this->source31695$msg$text_color_blue);
        
imagestring ($this->source210125sprintf(base64_decode("UEhQSW1hZ2VuIChjKSVzIC0gQnkgTXlPa3JhbQ=="),date('Y')),$text_color_black);
        
$this->error true;
        return 
true;
    } 
  #7 (permalink)  
Antiguo 10/04/2008, 11:41
 
Fecha de Ingreso: abril-2003
Ubicación: Santiago
Mensajes: 212
Antigüedad: 21 años
Puntos: 0
Re: PhpImagen.lib ayuda con mensaje de error

sorry por que incho tanto pero existe alguna forma de enves de crear esta imagen via codigo, desplegar una imagen que tengo hecha????? gracia spor todo nuevamnet y disculpen tantas molestias
atte.
Goomba
  #8 (permalink)  
Antiguo 10/04/2008, 12:14
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Re: PhpImagen.lib ayuda con mensaje de error

simple.. como puedes ver $this->source contiene el recurso de la imagen, en este caso la del error... dentro de la funcion de error()

ahora... solo debes interceptar $this->source inmediatamente despues de ke se creaa... ahi

Código PHP:
$this->source = @imagecreate ($this->rw$this->rh); 
ahora... con createImageFrom (jpeg/png/gif) puedes cargar la imagen ke desees... y asi reemplazas el recurso $this->source.... igualmente, despues de reemplazarlo solo un simple return; y listo!!!


Código PHP:
$this->source = @imagecreate ($this->rw$this->rh);
$this->source createimagefrom[...]($img_error);
return;

//olvida lo demas... ya esta echo! 
  #9 (permalink)  
Antiguo 10/04/2008, 13:38
 
Fecha de Ingreso: abril-2003
Ubicación: Santiago
Mensajes: 212
Antigüedad: 21 años
Puntos: 0
Re: PhpImagen.lib ayuda con mensaje de error

$this->source = @imagecreate ($this->rw, $this->rh);
$this->source = createimagefrom[que va aca? ](aca va la direccion?);

probe busque info en la web la prueba no me funciona y en la web no habla mucho de createimagefrom pero habla de @imagecreatefrompng/jpg/gif pero no me resulta para nada

Última edición por Goomba; 10/04/2008 a las 13:59
  #10 (permalink)  
Antiguo 10/04/2008, 14:17
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Re: PhpImagen.lib ayuda con mensaje de error

si es verdad... soy un idiota!!!

es imagecreatefrom[aqui va jpeg, gif, etc...] dependiendo de la disponibilidad y tien que ver con la extension del tipo soportado por GD. de ahi en fuera... si el unico parametro segun el manual ((y deveras lo siento)) no he dormido... bien. es la URL o archivo de la imagen a cargar
  #11 (permalink)  
Antiguo 10/04/2008, 14:24
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Re: PhpImagen.lib ayuda con mensaje de error

Código PHP:
function error($img) {
        
$info getimagesize($img);

        
$this->rw $info[0];
        
$this->rh $info[0];

        
$this->source = @imagecreatefromjpeg ($img); // suponiendo ke es JPEG/JPG
        
$this->error true;
        return 
true;
    } 

intenta reemplazando la funcion error() con esto.... dime, sino... me mato :(
  #12 (permalink)  
Antiguo 10/04/2008, 14:29
 
Fecha de Ingreso: abril-2003
Ubicación: Santiago
Mensajes: 212
Antigüedad: 21 años
Puntos: 0
Re: PhpImagen.lib ayuda con mensaje de error

jajajaj muchas gracias ahora carga la imagen aunque solo me funciona con gif hasta ahora, ahora necesito ver como redimencioar internamente la imagen pa no hacer 2 imagenes una para el thumbnails y lka otra pa la presebntacion.
Gracias nuevamente
Atte.
Goomba

Última edición por Goomba; 10/04/2008 a las 14:48
  #13 (permalink)  
Antiguo 10/04/2008, 15:28
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Re: PhpImagen.lib ayuda con mensaje de error

ya la habia pegado en otro post... disculpen lo perdi: pero aki lo pego de nuevo, seria bueno hacer una seccion de librerias de los usuarios... o ke podamos subir las nuetras, weno ya... rollo!!

Código PHP:
<?php if (!defined('EXT')) exit;
    
    class 
Image {
        var 
$imagefile '';
        var 
$imageinfo = array();
        var 
$imagebuffer '';
        var 
$imagesource '';
        
        
        function 
info($file) {
            if (!
is_file($file))
            {
                return;
            }
            
            
            
$ext strtolower(substr($filestrrpos($file'.') + 1));
            if (!
preg_match('/^(jpe?g|png|gif)$/is'$ext))
            {
                return;
            }
            
            if (!
function_exists('getimagesize'))
            {
                return;
            }
            
$data getimagesize($file);
            
            if (
is_array($data))
            {
                return array(
                    
'extension' => $ext,
                    
'width' => $data[0],
                    
'height' => $data[1],
                    
'mime' => $data['mime'],
                    
'size' => filesize($file)
                );
            }
        }
        
        
        function 
_image_open($file) {
            if (!
is_file($file))
            {
                return;
            }
            
            
$this->imageinfo $this->info($file);
            
$fn 'imageCreateFrom' .
                    
str_replace('jpg''jpeg'$this->imageinfo['extension']);
            
            
$this->imagesource $fn($file);
            
$this->imagefile $file;
        }
        function 
_image_close($out$q 75) {
            
$fn 'image' str_replace('jpg''jpeg',
                    
$this->imageinfo['extension']);
            
            if (
preg_match('/^jpe?g$/is'$this->imageinfo['extension']))
            {
                
$fn($this->imagebuffer$out$q);
            }
            else
            {
                
$fn($this->imagebuffer$out);
            }
            
            
imagedestroy($this->imagesource);
            
imagedestroy($this->imagebuffer);
        }
        
        
        
        
        
        function 
_image_apply_alpha($r 0$g 0$b 0$alpha 127) {
            if (
$this->imageinfo['extension'] == 'png')
                {
                
$this->imageinfo['alpha'] = imageColorAllocateAlpha($this->imagebuffer,
                            
$r$g$b$alpha);
                
imagealphablending($this->imagebufferFALSE);
                
imagefilledrectangle($this->imagebuffer00,
                        
imagesx($this->imagebuffer), imagesy($this->imagebuffer),
                        
$this->imageinfo['alpha']);
                
                
imagealphablending($this->imagebufferTRUE);
                
imagesavealpha($this->imagebufferTRUE);
            }
        }
        
        
        
        
        function 
resize($input$output$width$height) {
            
$this->_image_open($input);
            
$this->_image_source_resize($width$height);
            
$this->_image_close($output);
        }
        function 
_image_source_resize($width$height) {
            
$this->imagebuffer imagecreatetruecolor($width$height);
            
            
$this->_image_apply_alpha();
            
            
imagecopyresampled($this->imagebuffer,
                    
$this->imagesource0000,
                    
$width$height$this->imageinfo['width'], $this->imageinfo['height']);
        }
        
        
        
        
        function 
rotate($input$output$deg 90) {
            
$this->_image_open($input);
            
$this->_image_source_rotate($deg);
            
$this->_image_close($output);
        }
        function 
_image_source_rotate($deg$bg 0x000000) {
            if (!
function_exists('imageRotate'))
            {
                return;
            }
            
$this->imagebuffer =
                    
imageRotate($this->imagesource$deg$bg);
        }
        
        
        
        
        
        function 
thumb($input$output$width$height FALSE) {
            if (
$height === FALSE)
            {
                
$height $width;
            }
            
            
            
$this->_image_open($input);
            
$test max($width $this->imageinfo['width'],
                    
$height $this->imageinfo['height']);
            
            
            
$this->_image_source_resize($this->imageinfo['width'] * $test,
                    
$this->imageinfo['height'] * $test);
            
            
            
$x round(($this->imageinfo['width'] * $test $width) / 2);
            
$y round(($this->imageinfo['height'] * $test $height) / 2);
            
            
$this->imagesource $this->imagebuffer;
            
            
$this->_image_source_copy($width$height$x$y);
            
$this->_image_close($output);
        }
        
        
        function 
scale($input$output$width$height FALSE) {
            
$this->_image_open($input);
            
            
            if (
$height === FALSE)
            {
                
$height  round(($width $this->imageinfo['height']) / 1000);
                
$width round(($width $this->imageinfo['width']) / 1000);
            }
            else {
                
$test $this->imageinfo['height'] / $this->imageinfo['width'];
                
                if (
$test $height $width)
                {
                    
$width = (int)min($width$this->imageinfo['width']);
                    
$height = (int)round($width $test);
                }
                else {
                    
$height = (int)min($height$this->imageinfo['height']);
                    
$width = (int)round($height $test);
                }
            }
            
            
$this->_image_source_resize($width$height);
            
$this->_image_close($output);
        }
        
        
        
        
        function 
crop($input$output$width$height$x 0$y 0) {
            
$this->_image_open($input);
            
$this->_image_source_copy($width$height$x$y);
            
$this->_image_close($output);
        }
        function 
_image_source_copy($width$height$x 0$y 0) {
            
$this->imagebuffer imageCreateTrueColor($width$height);
            
$this->_image_apply_alpha();
            
            
imagecopy($this->imagebuffer$this->imagesource,
                    
00$x$y$width$height);
        }
    }
?>
es una libreria que empeze hace un poco... pero funciona, de hecho intentare integrar lo ke he aprendido de esto... imagenes de error... o alternativas ((como alt="" mas atractivos))

si te sirve, gracias...
  #14 (permalink)  
Antiguo 10/04/2008, 19:34
 
Fecha de Ingreso: abril-2003
Ubicación: Santiago
Mensajes: 212
Antigüedad: 21 años
Puntos: 0
Re: PhpImagen.lib ayuda con mensaje de error

pero n o seria mucho ya agregar otra libreria si ya tengo una? lo ideal es no mesclar tantas librerias sino taratar de hacer mas sencillo el codigo agradesco de antemano toda la ayuda.
Atte
Goomba
  #15 (permalink)  
Antiguo 10/04/2008, 21:38
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Re: PhpImagen.lib ayuda con mensaje de error

entonces???

Acaso tu libreria no cuenta con una funcion como resize() o scale() si es asi, prescinde de la mia... pero sino, y no hayas como hacerlo... ¿quieres que alguien te lo haga? asi de a explicaciones no llegamos nada.....

deberias replantear tus necesidades, ya que aun le debes conocer mas a tus librerias... antes de comenzar a dudar...
  #16 (permalink)  
Antiguo 10/04/2008, 22:45
 
Fecha de Ingreso: abril-2003
Ubicación: Santiago
Mensajes: 212
Antigüedad: 21 años
Puntos: 0
Re: PhpImagen.lib ayuda con mensaje de error

sorry por molestarte tanto pateketrueke pero esta libreria la baje de la web es el desarrollo de alguin si cuenta con una funcion resize
pero si aplico $this->source->resize(126,126,true);
http://www.phperu.net/phpimagen/ de aqui baje la libreria.
Gracias Nuevamente
Atte
Goomba
  #17 (permalink)  
Antiguo 10/04/2008, 23:35
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Re: PhpImagen.lib ayuda con mensaje de error

Cita:
Iniciado por Goomba Ver Mensaje
sorry por molestarte tanto pateketrueke pero esta libreria la baje de la web es el desarrollo de alguin si cuenta con una funcion resize
pero si aplico $this->source->resize(126,126,true);
http://www.phperu.net/phpimagen/ de aqui baje la libreria.
Gracias Nuevamente
Atte
Goomba


me imagino ke seria bueno poner al alcanze estas y mas librerias.... pero, no me molestaste. animo.... esa curiosidad te hizo falta.... epa!!
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 22:48.