imagexbm

(PHP 5, PHP 7, PHP 8)

imagexbmOutput an XBM image to browser or file

Beschreibung

imagexbm(GdImage $image, ?string $filename, ?int $foreground_color = null): bool

Outputs or save an XBM version of the given image.

Hinweis: imagexbm() doesn't apply any padding, so the image width has to be a multiple of 8. This restriction does no longer apply as of PHP 7.0.9.

Parameter-Liste

image

Ein GdImage-Objekt, das von einer der Funktionen zur Bilderzeugung, z. B. imagecreatetruecolor(), zurückgegeben wurde.

filename

The path to save the file to, given as String. If null, the raw image stream will be output directly.

The filename (without the .xbm extension) is also used for the C identifiers of the XBM, whereby non alphanumeric characters of the current locale are substituted by underscores. If filename is set to null, image is used to build the C identifiers.

foreground_color

You can set the foreground color with this parameter by setting an identifier obtained from imagecolorallocate(). The default foreground color is black. All other colors are treated as background.

Rückgabewerte

Gibt bei Erfolg true zurück. Bei einem Fehler wird false zurückgegeben.

Achtung

Wenn libgd das Bild nicht ausgeben kann, gibt diese Funktion true zurück.

Changelog

Version Beschreibung
8.0.0 image erwartet nun eine GdImage-Instanz; vorher wurde eine gültige gd-Ressource erwartet.
8.0.0 foreground_color is now nullable.
8.0.0 The fourth parameter, which was unused, has been removed.

Beispiele

Beispiel #1 Saving an XBM file

<?php
// Create a blank image and add some text
$im = imagecreatetruecolor(120, 20);
$text_color = imagecolorallocate($im, 233, 14, 91);
imagestring($im, 1, 5, 5, 'A Simple Text String', $text_color);

// Save the image
imagexbm($im, 'simpletext.xbm');

// Free up memory
imagedestroy($im);
?>

Beispiel #2 Saving an XBM file with a different foreground color

<?php
// Create a blank image and add some text
$im = imagecreatetruecolor(120, 20);
$text_color = imagecolorallocate($im, 233, 14, 91);
imagestring($im, 1, 5, 5, 'A Simple Text String', $text_color);

// Set a replacement foreground color
$foreground_color = imagecolorallocate($im, 255, 0, 0);

// Save the image
imagexbm($im, NULL, $foreground_color);

// Free up memory
imagedestroy($im);
?>

Anmerkungen

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