Home  >  Article  >  Backend Development  >  PHP code to generate text png images_PHP tutorial

PHP code to generate text png images_PHP tutorial

WBOY
WBOYOriginal
2016-07-21 15:30:38949browse

Copy code The code is as follows:

/*
php generates text png images, you can use the following method Calling function:
http://www.yourdomian.com/text_png.php3?msg=helloworld+class&rot=15&size=48&font=fonts/ARIAL.TTF
*/
Header("Content-type: image/png");
class textPNG {
var $font = 'fonts/TIMES.TTF'; //Default font. Relative path to the script storage directory.
var $msg = "undefined "; // Default text.
var $size = 24;
var $rot = 0; // Rotation angle.
var $pad = 0; // Padding.
var $transparent = 1; // Text transparency.
var $red = 0; // On a black background...
var $grn = 0;
var $blu = 0;
var $bg_red = 255; // Set the text to white.
var $bg_grn = 255;
var $bg_blu = 255;
function draw() {
$width = 0;
$height = 0;
$offset_x = 0;
$offset_y = 0;
$bounds = array();
$image = "";
// Determine the text height.
$ bounds = ImageTTFBBox($this->size, $this->rot, $this->font, "W");
if ($this->rot < 0) {
$ font_height = abs($bounds[7]-$bounds[1]);
} else if ($this->rot > 0) {
$font_height = abs($bounds[1]-$ bounds[7]);
} else {
$font_height = abs($bounds[7]-$bounds[1]);
}
// Determine the border height.
$ bounds = ImageTTFBBox($this->size, $this->rot, $this->font, $this->msg);
if ($this->rot < 0) {
$width = abs($bounds[4]-$bounds[0]);
$height = abs($bounds[3]-$bounds[7]);
$offset_y = $font_height;
$offset_x = 0;
} else if ($this->rot > 0) {
$width = abs($bounds[2]-$bounds[6]);
$height = abs($bounds[1]-$bounds[5]);
$offset_y = abs($bounds[7]-$bounds[5])+$font_height;
$offset_x = abs( $bounds[0]-$bounds[6]);
} else {
$width = abs($bounds[4]-$bounds[6]);
$height = abs($bounds [7]-$bounds[1]);
$offset_y = $font_height;;
$offset_x = 0;
}
$image = imagecreate($width+($this->pad *2)+1,$height+($this->pad*2)+1);
$background = ImageColorAllocate($image, $this->bg_red, $this->bg_grn, $this- >bg_blu);
$foreground = ImageColorAllocate($image, $this->red, $this->grn, $this->blu);
if ($this->transparent) ImageColorTransparent($image, $background);
ImageInterlace($image, false);
// Draw a picture.
ImageTTFText($image, $this->size, $this->rot, $ offset_x+$this->pad, $offset_y+$this->pad, $foreground, $this->font, $this->msg);
// Output in png format.
imagePNG( $image);
}
}
$text = new textPNG;
if (isset($msg)) $text->msg = $msg; // Text to be displayed
if (isset($font)) $text->font = $font; // Font
if (isset($size)) $text->size = $size; // Text size
if (isset($rot)) $text->rot = $rot; // rotation angle
if (isset($pad)) $text->pad = $pad; // padding
if (isset($red)) $text->red = $red; // Text color
if (isset($grn)) $text->grn = $grn; // ..
if (isset($blu)) $text->blu = $blu; // ..
if (isset($bg_red)) $text->bg_red = $bg_red; // Background color.
if (isset($bg_grn)) $text->bg_grn = $bg_grn; // ..
if (isset($bg_blu)) $text->bg_blu = $bg_blu; // ..
if (isset($tr)) $text->transparent = $tr; // Transparency (boolean).
$text->draw();
?>

www.bkjia.comtruehttp: //www.bkjia.com/PHPjc/323166.htmlTechArticleCopy the code code as follows: ? /* PHP generates text png images, you can use the following method to call the function: http:/ /www.yourdomian.com/text_png.php3?msg=helloworld+classsize=48 class textPNG {...
Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn