分享PHP 生成透明背景的PNG图像,无黑边,无锯齿
自己写了这个东西一段时间了,总是写不好,终于昨夜完成这个效果了。PHP 生成透明背景的PNG图像,无黑边,无锯齿。
<?php
$text = '学习PHP';
$text = iconv("gbk","utf-8",$text);//转码,避免乱码
$block = imagecreatetruecolor(300,300);//建立一个画板
$bg = imagecolorallocatealpha($block , 0 , 0 , 0 , 127);//拾取一个完全透明的颜色,不要用imagecolorallocate拾色
$color = imagecolorallocate($block,255,0,0); //字体拾色
imagealphablending($block , false);//关闭混合模式,以便透明颜色能覆盖原画板
imagefill($block , 0 , 0 , $bg);//填充
imagefttext($block,12,0,10,20,$color,'msyh.ttf',$text);
imagesavealpha($block , true);//设置保存PNG时保留透明通道信息
header("content-type:image/png");
imagepng($block);//生成图片
imagedestroy($block);
?>
OK,生成的就是透明背景的PNG图像了。
以前总是觉得PHP对图像的处理是不是太差了,这个效果都做不好???
原来是自己知识太D而已。 分享给大家,有需要的看看。