>  기사  >  백엔드 개발  >  php绘图技术的例子

php绘图技术的例子

WBOY
WBOY원래의
2016-07-25 08:56:251055검색
本文分享一个php绘图的例子,学习在php中操作图形技术的方法,包括绘制各种图形、写入文字、复制画布等操作,有需要的朋友参考下。

1、图片格式: 常见图片格式,包括:gif,jpg/jpeg,png等。

区别: 1)、gif 图片压缩率高,但是只能显示256色,可能造成颜色的丢失,可以显示动画。 2)、jpg/jpeg 图片压缩率高(有损压缩),可以用较小的文件来显示。 3)、png 该格式综合了gif和jpg的优势,缺点是不能显示动画。

2、PHP绘图实例

<?php
//绘图技术 基本步骤 前提:在php.ini文件中启用gd库

//创建画布 默认背景是黑色的
$img=imagecreatetruecolor(400,300);

//绘制各种图形
//创建一个颜色
$background = imagecolorallocate($img, 255, 0, 0);
//画圆
//imageellipse($img,30,30,50,50,$background);
//椭圆
//imageellipse($img,30,30,50,30,$background);
//画直线
//imageline($img,0,0,400,300,$background);
//画矩形
//imagerectangle ($img, 50 , 20 , 100 , 40 , $background);
//填充矩形
//imagefilledrectangle ($img, 50 , 20 , 100 , 40 , $background);
//画弧线
//imagearc($img, 100, 100, 150, 150, 180, 270, $background);
//画扇型  IMG_ARC_CHORD直线连接了起始和结束点   IMG_ARC_PIE
//imagefilledarc($img, 100, 100, 150, 150, 180, 270, $background,IMG_ARC_PIE);

//拷贝图片到画布
/*$scrImg=imagecreatefromgif('http://www.baidu.com/img/shouye_b5486898c692066bd2cbaeda86d74448.gif');
$scrImgInfo=getimagesize('http://www.baidu.com/img/shouye_b5486898c692066bd2cbaeda86d74448.gif');
imagecopy ($img,$scrImg,10,10,0,0,$scrImgInfo[0],$scrImgInfo[1]);
*/
//imagecopy ($img,$scrImg,10,10,0,0,270,129);

//写字
//imagestring ($img , 5 , 20 , 20 , "hello,world", $background );
//写中文
$str="PHP绘画技术";
imagettftext ($img , 30 , 0 , 50 ,50, $background , "MSYHBD.TTF" , $str);

//输出图像到网页(或者另存为)
header("content-type: image/png");
imagepng($img);

//销毁该图片(释放内存)
imagedestroy($img);
?>


성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.