Home > Backend Development > PHP Tutorial > png picture php code to generate text png picture

png picture php code to generate text png picture

WBOY
Release: 2016-07-29 08:44:43
Original
1442 people have browsed it

Copy the code The code is 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+class&rot=15&size=48&f/ARIAL.TTF
*/
Header("Content-type: image/png");
class textPNG {
var $font = 'fonts/TIMES.TTF'; //Default font. Relative path to the directory where the script is stored.
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.
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();
?>

The above introduces the code for generating text png images from png images in php, including the content of png images. I hope it will be helpful to friends who are interested in PHP tutorials.

Related labels:
source:php.cn
Statement of this Website
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
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template