imagexbm

(PHP 5, PHP 7, PHP 8)

imagexbmGénère une image au format XBM

Description

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

Affiche ou sauvegarde une version XBM de l'image image.

Note: imagexbm() n'applique pas de rembourrage, de sorte que la largeur de l'image doit être un multiple de 8. Cette restriction ne s'applique plus à partir de PHP 7.0.9, respectivement.

Liste de paramètres

image

Un objet GdImage, retournée par une des fonctions de création d'images, comme imagecreatetruecolor().

filename

Chemin d'accès où le fichier sera enregistré, sous la forme d'une chaîne de caractères. S'il n'est pas défini, le flux d'images RAW sera directement affiché sur la sortie standart.

Le nom de fichier filename (sans l'extension .xbm) est également utilisé pour les identificateur C duXBM, auquel cas les caractères non alphanumériques des paramètres régionaux actuels sont remplacés par des soulignements. Si filename a la valeur null, image est utilisée pour générer les identificateurs C.

foreground_color

Vous pouvez définir le premier plan avec ce paramètre en définissant un identifiant obtenu depuis la fonction imagecolorallocate(). Par défaut, la couleur du premier plan est noir. Toutes les autres couleurs sont traitées comme arrière-plan.

Valeurs de retour

Cette fonction retourne true en cas de succès ou false si une erreur survient.

Attention

Toutefois, si libgd ne parvient pas à produire l'image, cette fonction retourne true.

Historique

Version Description
8.0.0 image attend une instance de GdImage désormais; auparavant, une resource gd était attendue.
8.0.0 foreground_color est désormais nullable.
8.0.0 Le quatrième paramètre, qui n'était pas utilisé, a été supprimé.

Exemples

Exemple #1 Sauvegarde d'un fichier XBM

<?php
// Création d'une image vide et ajout d'un texte
$im = imagecreatetruecolor(120, 20);
$text_color = imagecolorallocate($im, 233, 14, 91);
imagestring($im, 1, 5, 5, 'Un texte simple', $text_color);

// Sauvegarde de l'image
imagexbm($im, 'simpletext.xbm');

// Libération de la mémoire
imagedestroy($im);
?>

Exemple #2 Sauvegarde d'un fichier XBM avec une couleur de premier-plan différente

<?php
// Création d'une image vide et ajout d'un texte
$im = imagecreatetruecolor(120, 20);
$text_color = imagecolorallocate($im, 233, 14, 91);
imagestring($im, 1, 5, 5, 'Un texte simple', $text_color);

// Définit la couleur de premier-plan
$foreground_color = imagecolorallocate($im, 255, 0, 0);

// Sauvegarde de l'image
imagexbm($im, NULL, $foreground_color);

// Libération de la mémoire
imagedestroy($im);
?>

Notes

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