imagexbm

(PHP 5, PHP 7, PHP 8)

imagexbmImprimir una imagen XBM en el navegador o en un fichero

Descripción

imagexbm(resource $image, string $filename, int $foreground = ?): bool

Imprime o guarda una versión XBM de la imagen image.

Nota: imagexbm() no aplica ningún relleno, por lo que el ancho de la image ha de ser múltiplo de 8.

Parámetros

image

Un recurso image, es devuelto por una de las funciones de creación de imágenes, como imagecreatetruecolor().

filename

La ruta o un recurso de flujo de apertura (el cual se cierra automáticamente después de que devuelva esta función) donde guardar el fichero. Si no se establece, o su valor es null, se mostrará directamente en la salida el flujo de imagen sin tratar.

foreground

Se puede establecer el color de primer plano con este parámetro estableciendo un identificador obtenido de imagecolorallocate(). El color de primer plano por defecto es negro. Todos los demás colores son tratados como fondo.

Valores devueltos

Devuelve true en caso de éxito o false en caso de error.

Ejemplos

Ejemplo #1 Guardar un fichero XBM

<?php
// Crear una imagen en blanco y añadir algún texto
$im = imagecreatetruecolor(120, 20);
$color_texto = imagecolorallocate($im, 233, 14, 91);
imagestring($im, 1, 5, 5, 'A Simple Text String', $color_texto);

// Guardar la imagen
imagexbm($im, 'simpletext.xbm');

// Liberar memoria
imagedestroy($im);
?>

Ejemplo #2 Guardar un fichero XBM con un color de primer plano diferente

<?php
// Crear una imagen en blanco y añadir algún texto
$im = imagecreatetruecolor(120, 20);
$color_texto = imagecolorallocate($im, 233, 14, 91);
imagestring($im, 1, 5, 5, 'A Simple Text String', $color_texto);

// Esteblecer un color de primer plano sustituto
$color_primer_plano = imagecolorallocate($im, 255, 0, 0);

// Guardar la imagen
imagexbm($im, NULL, $color_primer_plano);

// Liberar memoria
imagedestroy($im);
?>

Notas

add a note add a note

User Contributed Notes 1 note

up
0
Anonymous
13 years ago
FlagCreation with some random text inside.

<?php
class Logo{
    private
$colors;
        private
$imgWidth
    private
$imgHeight;  
    private
$img;
    private
$text;

    public function
__construct($width = 100, $height = 60){
       
$this->imgWidth = $width;
       
$this->imgHeight = $height;
       
$this->text = "RND TEXT";
       
$this->createImage();
    }
   
    public function
getText(){
        return
$this->text;
    }
   
    public function
createImage(){
       
$this->img = imagecreatetruecolor($this->imgWidth,$this->imgHeight);
           
$farbe = array(200,200,200);
           
$this->colors[0] = $this->makeColor($farbe);
           
$farbe = array(100,100,200);
           
$this->colors[1] = $this->makeColor($farbe);
       
       
imagefill($this->img,0,0,$this->colors[0]);
               
       
$streifenhoehe = intval($this->imgHeight / 6);       
       
$textgroesse = intval($streifenhoehe *2);
       
$y = 0;
       
$x = 0;
       
       
imagefilledrectangle($this->img,0,0,$this->imgWidth,$streifenhoehe,$this->colors[1]);
       
$y = $this->imgHeight - $streifenhoehe;
       
imagefilledrectangle($this->img,0,$y,$this->imgWidth,$this->imgHeight,$this->colors[1]);
       
       
       
$textma = imagettfbbox ( $textgroesse ,0 , "ARIAL.TTF", $this->text);
       
$textanfang = ($this->imgWidth - ($textma[2] - $textma[0]))/2;
       
$textanfang_hoehe = intval(($this->imgHeight-($textma[7]-$textma[1]))/2);
       
        
imagettftext($this->img, $textgroesse,0,$textanfang, $textanfang_hoehe, $this->colors[1],"ARIAL.TTF", $this->text);
       
       
    }
   
    public function
makeColor($color){
        if (
count($color)%3 != 0)
            return
false;
        else
            return
imagecolorallocate($this->img,$color[0],$color[1],$color[2]);
    }
   
    public function
getImage(){
        
header('Content-Type: image/gif', true);
       
imagejpeg($this->img);
    }   
}

$logo = new Logo(300,180);
$logo->getImage();
?>
To Top