PHP图像操作:3D图、缩放、旋转、裁剪、添加水印(一),3d水印
来源:http://www.ido321.com/875.html
1、利用php gd库的函数绘制3D扇形统计图
1: <?php
2: header("content-type","text/html;charset=utf-8");
3: /*扇形统计图*/
4: $image = imagecreatetruecolor(100, 100); /*创建画布*/
5:
6: /*设置画布需要的颜色*/
7: $white = imagecolorallocate($image,0xff,0xff,0xff);
8: $gray = imagecolorallocate($image, 0xc0, 0xc0, 0xc0);
9: $darkgray = imagecolorallocate($image, 0x90, 0x90, 0x90);
10: $navy = imagecolorallocate($image, 0x00, 0x00, 0x80);
11: $darknavy = imagecolorallocate($image, 0x00, 0x00, 0x50);
12: $red = imagecolorallocate($image, 0xff, 0x00, 0x00);
13: $darkred = imagecolorallocate($image, 0x90, 0x00, 0x00);
14:
15: /*填充背景色*/
16: imagefill($image, 0, 0, $white);
17:
18: /*3D制作*/
19: for($i = 60; $i > 50; $i--)
20: {
21: imagefilledarc($image, 50, $i, 100, 50, -160, 40, $darknavy, IMG_ARC_PIE);
22: imagefilledarc($image, 50, $i, 100, 50, 40, 75, $darkgray, IMG_ARC_PIE);
23: imagefilledarc($image, 50, $i, 100, 50, 75, 200, $darkred, IMG_ARC_PIE);
24: }
25: /*画椭圆弧并填充*/
26: imagefilledarc($image, 50, 50, 100, 50, -160, 40, $darknavy, IMG_ARC_PIE);
27: imagefilledarc($image, 50, 50, 100, 50, 40, 75, $darkgray, IMG_ARC_PIE);
28: imagefilledarc($image, 50, 50, 100, 50, 75, 200, $darkred, IMG_ARC_PIE);
29:
30: /*画字符串*/
31: imagestring($image, 3, 15, 55, "30%", $white);
32: imagestring($image, 3, 45, 35, "60%", $white);
33: imagestring($image, 3, 60, 60, "10%", $white);
34:
35: /*输出图像*/
36: header("content-type:image/png");
37: imagepng($image);
38:
39: /*释放资源*/
40: imagedestroy($image);
41: ?>
效果:
2、对图片进行缩放
1: <div>
2: <h4>原图大小</h4>
3: <img src="1.png" style="border:1px solid red;">
4: </div>
5: <?php
6: header("content-type","text/html;charset=utf-8");
7:
8: /*
9: *图片缩放
10: *@param string $filename 图片的url
11: *@param int $width 设置图片缩放的最大宽度
12: *@param int $height 设置图片缩放的最大高度
13: */
14: function thumb($filename,$width=130,$height=130)
15: {
16: /*获取原图的大小*/
17: list($width_orig,$height_orig) = getimagesize($filename);
18:
19: /*根据参数$width和$height,换算出等比例的高度和宽度*/
20: if($width && ($width_orig < $height_orig))
21: {
22: $width = ($height / $height_orig) * $width_orig;
23: }
24: else
25: {
26: $height = ($width / $width_orig) * $height_orig;
27: }
28:
29: /*以新的大小创建画布*/
30: $image_p = imagecreatetruecolor($width, $height);
31:
32: /*获取图像资源*/
33: $image = imagecreatefrompng($filename);
34:
35: /*使用imagecopyresampled缩放*/
36: imagecopyresampled($image_p, $image, 0, 0, 0, 0, $width, $height, $width_orig, $height_orig);
37:
38: /*保存缩放后的图片和命名*/
39: imagepng($image_p,'test.png');
40:
41: /*释放资源*/
42: imagedestroy($image_p);
43: imagedestroy($image);
44: }
45: /*调用函数*/
46: thumb('1.png');
47: ?>
48: <div>
49: <h4>缩放后的大小</h4>
50: <img src="test.png" style="border:1px solid red;">
51: </div>
效果:
处理功能”模块能批量裁剪、批量旋转或翻转图片;“批量文件改名”模块能轻松实现大批量文件的改名操作。
批量裁剪的方法:运行《凌霄图像批处理专家3.4》后,选择需要批量处理的图片,然后单击,选择脚本命令,设置裁剪后,便可以批量裁剪。批量旋转或翻转的方法类似批量裁剪的处理方法。而且,以上两中操作还可以结合一起批量处理。简单使用,功能强大,不妨试试!
另:
《凌霄图像批处理专家》是一款集“智能生成JPG”、“批量格式转换”、“批量脚本处理”、“批量添加水印”、“批量文件改名”、“批量调整尺寸”、“批量制作缩略图”、“制作电子相册”、“批量转为PDF”于一体的图像批处理系统。向导式的操作方式,轻易上手,而功能丝毫不减。所有的批处理工具都可以应用图像脚本处理命令,再复杂的操作也可以一步到位。而且所有这些功能,您都可以在Windows资源管理器中通过右键菜单轻松使用。
网通下载地址:
电信下载地址:
按照我的理解应该是这样的 ,首先你的服务器上面有很多图片,但是图片尺寸不符合使用要求,你想给一个cms使用者制作一个可以裁减缩放图片的功能.
你的思路前面2步骤是没有问题的 .
但是第三个步骤是不对的
我们平常所看到的裁减功能.例如BAI度的头像设置.是用JS模拟一个框框来模拟裁减.只有当用户真正点击保存后.通过js记录了裁减的起始位置.结束位置,宽高.等参数.通过php的GD库来重新绘制这张图片.保存并替换掉原来的 ,并且更新数据库信息.知道用户点击保存之前.这张图片的数据源都没有发生变化.
PHP之友评论