PHP图像操作: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>
效果:
PHP图像操作:3D图、缩放、旋转、裁剪、加入水印(一)的更多相关文章
- 图像处理之OpenCV - 缩放/旋转/裁剪/加噪声/高斯模糊
Github地址 @ 缩放 void cv::resize ( InputArray src, OutputArray dst, Size dsize, , , int interpolation = ...
- FFMPEG 最简滤镜filter使用实例(实现视频缩放,裁剪,水印等)
FFMPEG官网给出了FFMPEG 滤镜使用的实例,它是将视频中的像素点替换成字符,然后从终端输出.我在该实例的基础上稍微的做了修改,使它能够保存滤镜处理过后的文件.在上代码之前先明白几个概念: Fi ...
- (转)FFMPEG filter使用实例(实现视频缩放,裁剪,水印等)
本文转载自http://blog.csdn.net/li_wen01/article/details/62442162 FFMPEG官网给出了FFMPEG 滤镜使用的实例,它是将视频中的像素点替换成字 ...
- Android Bitmap 常见的几个操作:缩放,裁剪,旋转,偏移
Android Bitmap 相关操作 常见的几个操作:缩放,裁剪,旋转,偏移 很多操作需要 Matrix 来支持:Matrix 通过矩阵来处理位图,计算出各个像素点的位置,从而把bitma ...
- java多图片上传--前端实现预览--图片压缩 、图片缩放,区域裁剪,水印,旋转,保持比例。
java多图片上传--前端实现预览 前端代码: https://pan.baidu.com/s/1cqKbmjBSXOhFX4HR1XGkyQ 解压后: java后台: <!--文件上传--&g ...
- 【数字图像处理】六.MFC空间几何变换之图像平移、镜像、旋转、缩放具体解释
本文主要讲述基于VC++6.0 MFC图像处理的应用知识,主要结合自己大三所学课程<数字图像处理>及课件进行解说,主要通过MFC单文档视图实现显示BMP图片空间几何变换.包含图像平移.图形 ...
- 【Java实例】使用Thumbnailator生成缩略图(缩放、旋转、裁剪、水印)
1 需求 表哥需要给儿子报名考试,系统要求上传不超过30KB的图片,而现在的手机随手一拍就是几MB的,怎么弄一个才30KB的图片呢? 一个简单的办法是在电脑上把图片缩小,然后截屏小图片,但现在的电脑屏 ...
- Fresco 二三事:图片处理之旋转、缩放、裁剪切割图片
关于Fresco加载图片的处理,例如旋转.裁剪切割图片,在官方文档也都有提到,只是感觉写的不太详细,正好最近项目里有类似需求,所以分享一些使用小tip,后面的朋友就不用再走弯路浪费时间了.(测试图片分 ...
- 用Js+css3实现图片旋转,缩放,裁剪,滤镜
还是前端图片的老话题,花了半天时间,东拼西凑,凑出个demo,优点在于代码少,核心代码就6行,目前刚做了旋转,缩放,裁剪,滤镜要js做,网络上也有现成的代码, 但是想做到自定义的滤镜咋办呢?这还要从底 ...
- 学习PHP中好玩的Gmagick图像操作扩展的使用
在 PHP 的图像处理领域,要说最出名的 GD 库为什么好,那就是因为它不需要额外安装的别的什么图像处理工具,而且是随 PHP 源码一起发布的,只需要在安装 PHP 的时候添加上编译参数就可以了. G ...
随机推荐
- Notepad++7.4.2的配置使用详情
之前有写过一篇notepad的使用说明,没想到稀里糊涂更新了几次之后,我以前的配置什么的全干掉了,而且我打开新版后,发现和以前还有点不一样了.那就继续这个高级版本再来一边吧. 1.Zen Coding ...
- bzoj 2434 AC自动机 + fail指针建树 + 树状数组
思路:我们先跟着它给定的字符串走把字典树建出来,求出fail指针,我们考虑两个字符串 A和B, 如果想要求B中有多少A的子串,转换一下就是有多少个B的前缀的后缀包含A,这个在AC自动机 的状态图中很容 ...
- JSTL <c:if test=“eq ne lt..”></if> 用法
类别 运算符 算术运算符 + . - . * . / (或 div )和 % (或 mod ) 关系运算符 == (或 eq ). != (或 ne ). < (或 lt ). > (或 ...
- 转:python cgi编程
转:http://www.runoob.com/Python/python-cgi.html 什么是CGI CGI 目前由NCSA维护,NCSA定义CGI如下: CGI(Common Gateway ...
- 关于在eclipse下的mapreduce工程打包成jar包的问题(包含第三方jar包)
这个问题也是在开发项目中经常遇到的一个问题,网上提供了很多方法,但是我发现很多并不适用,这里推荐两种方法,一种肯定没问题,就是比较麻烦,另一种是适用FatJar来打包,但是我没成功,原因估计出在ubu ...
- 2018 ACM-ICPC 青岛网络赛
最近打比赛不知道为什么总是怀疑自己 写完之后不敢交,一定跟学长说一遍自己的思路 然后发现"哦原来我是对的" 然后就A掉了…… 所以还是要有自信 Problem A 最大值直接输出m ...
- 关于sql查询语句中的别名
sql语句中给子查询或其他查询类型加别名的时候可能会报错 java.sql.SQLException: 无法转换为内部表示 原因是select返回类型的实体类中没有写该别名 原来的实体类 更改后的实体 ...
- HDU 6162 Ch’s gift (树剖 + 离线线段树)
Ch’s gift Time Limit: 6000/3000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others)Total S ...
- Did Pong Lie? (差分系统 判负环)
Did Pong Lie? 时间限制: 5 Sec 内存限制: 128 MB提交: 68 解决: 15[提交][状态][讨论版] 题目描述 Doctor Pong has two arrays o ...
- 在CentOS6或RHEL6恢复上ext4文件系统误删除的文件
首先说明: [root@CentOS6 ~]# rm -rf / //这条命令不可以执行 [root@CentOS6 ~]# rm -rf /* //这条命令可以执行,别去试 ext4文件系统上误删除 ...