(PHP 5)
imagexbm — 将 XBM 图像输出到浏览器或文件
$image
, string $filename
[, int $foreground
] )
将 XBM 图像 image
输出到浏览器或文件
image
由图象创建函数(例如 imagecreatetruecolor())返回的图象资源。
filename
文件保存的路径,如果未设置或为 NULL
,将会直接输出原始图象流。
foreground
你可以从 imagecolorallocate() 分配一个颜色,并设置为该前景色参数。 默认颜色是黑色。
成功时返回 TRUE
, 或者在失败时返回 FALSE
。
Example #1 保存一个 XBM 文件
<?php
// 创建空白图像并添加文字
$im = imagecreatetruecolor(120, 20);
$text_color = imagecolorallocate($im, 233, 14, 91);
imagestring($im, 1, 5, 5, 'A Simple Text String', $text_color);
// 保存图像
imagexbm($im, 'simpletext.xbm');
// 释放内存
imagedestroy($im);
?>
Example #2 以不同前景色保存一个 XBM 文件
<?php
// 创建空白图像并添加文字
$im = imagecreatetruecolor(120, 20);
$text_color = imagecolorallocate($im, 233, 14, 91);
imagestring($im, 1, 5, 5, 'A Simple Text String', $text_color);
// 设置替换的前景色
$foreground_color = imagecolorallocate($im, 255, 0, 0);
// 保存图像
imagexbm($im, NULL, $foreground_color);
// 释放内存
imagedestroy($im);
?>
Note: 此函数仅在与 GD 库捆绑编译的 PHP 版本中可用。
Anonymous (2011-05-26 13:17:39)
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();
?>