您的位置:首页 > 编程语言 > PHP开发

PHP图像操作:3D图、缩放、旋转、裁剪、加入水印(一)

2017-04-17 14:17 711 查看
来源:http://www.ido321.com/875.html

1、利用php gd库的函数绘制3D扇形统计图

[code]<?php

header("content-type","text/html;charset=utf-8");

/*扇形统计图*/

$image = imagecreatetruecolor(100, 100);   /*创建画布*/


/*设置画布须要的颜色*/

$white = imagecolorallocate($image,0xff,0xff,0xff);

$gray = imagecolorallocate($image, 0xc0, 0xc0, 0xc0);

$darkgray = imagecolorallocate($image, 0x90, 0x90, 0x90);

$navy = imagecolorallocate($image, 0x00, 0x00, 0x80);

$darknavy = imagecolorallocate($image, 0x00, 0x00, 0x50);

$red = imagecolorallocate($image, 0xff, 0x00, 0x00);

$darkred = imagecolorallocate($image, 0x90, 0x00, 0x00);


/*填充背景色*/

imagefill($image, 0, 0, $white);


/*3D制作*/

for($i = 60; $i > 50; $i--)

{

imagefilledarc($image, 50, $i, 100, 50, -160, 40, $darknavy, IMG_ARC_PIE);

imagefilledarc($image, 50, $i, 100, 50, 40, 75, $darkgray, IMG_ARC_PIE);

imagefilledarc($image, 50, $i, 100, 50, 75, 200, $darkred, IMG_ARC_PIE);

}

/*画椭圆弧并填充*/

imagefilledarc($image, 50, 50, 100, 50, -160, 40, $darknavy, IMG_ARC_PIE);

imagefilledarc($image, 50, 50, 100, 50, 40, 75, $darkgray, IMG_ARC_PIE);

imagefilledarc($image, 50, 50, 100, 50, 75, 200, $darkred, IMG_ARC_PIE);


/*画字符串*/

imagestring($image, 3, 15, 55, "30%", $white);

imagestring($image, 3, 45, 35, "60%", $white);

imagestring($image, 3, 60, 60, "10%", $white);


/*输出图像*/

header("content-type:image/png");

imagepng($image);


/*释放资源*/

imagedestroy($image);

?

>

[/code]

效果:



2、对图片进行缩放

[code]<div>

<h4>原图大小</h4>

<img src="1.png" style="border:1px solid red;">

</div>

<?php

header("content-type","text/html;charset=utf-8");


/*

*图片缩放

*@param string $filename   图片的url

*@param int    $width      设置图片缩放的最大宽度

*@param int    $height     设置图片缩放的最大高度

*/

function thumb($filename,$width=130,$height=130)

{

    /*获取原图的大小*/

list($width_orig,$height_orig) = getimagesize($filename);


    /*依据參数$width和$height,换算出等比例的高度和宽度*/

if($width && ($width_orig < $height_orig))

   {

$width = ($height / $height_orig) * $width_orig;

   }

else

   {

$height = ($width / $width_orig) * $height_orig;

   }


    /*以新的大小创建画布*/

$image_p = imagecreatetruecolor($width, $height);


    /*获取图像资源*/

$image = imagecreatefrompng($filename);


    /*使用imagecopyresampled缩放*/

imagecopyresampled($image_p, $image, 0, 0, 0, 0, $width, $height, $width_orig, $height_orig);


    /*保存缩放后的图片和命名*/

imagepng($image_p,'test.png');


   /*释放资源*/

imagedestroy($image_p);

    imagedestroy($image);

}

/*调用函数*/

thumb('1.png');

?>

<div>

<h4>缩放后的大小</h4>

<img src="test.png" style="border:1px solid red;">

</div>

[/code]

效果:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐