PHP图像操作:3D图、缩放、旋转、裁剪、添加水印(三)
来源:http://www.ido321.com/887.html
5、PHP对图像的旋转
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: *图片沿y轴旋转,以png格式为例
10: *@param string $filename 图片的url
11: */
12: function turn_y($filename)
13: {
14: /*创建图片资源*/
15: $backy = imagecreatefrompng($filename);
16:
17: /*获取大小*/
18: $widthy = imagesx($backy);
19: $heighty = imagesy($backy);
20:
21: /*创建新的图片资源,保存翻转后的图片*/
22: $newy = imagecreatetruecolor($widthy, $heighty);
23:
24: /*沿着y轴翻转,就是将原图从右向左按一个像素宽度向新资源中逐个复制*/
25: for ($i=0; $i < $widthy; $i++) {
26: imagecopy($newy,$backy,$widthy-$i-1,0,$i,0,1,$heighty);
27: }
28:
29: /*保存翻转后的图片*/
30: imagepng($newy,'test3.png');
31:
32: /*释放资源*/
33: imagedestroy($backy);
34: imagedestroy($newy);
35: }
36:
37: /*
38: *图片沿x轴旋转,以png格式为例
39: *@param string $filename 图片的url
40: */
41: function turn_x($filename)
42: {
43: /*创建图片资源*/
44: $backx = imagecreatefrompng($filename);
45:
46: /*获取大小*/
47: $widthx = imagesx($backx);
48: $heightx = imagesy($backx);
49:
50: /*创建新的图片资源,保存翻转后的图片*/
51: $newx = imagecreatetruecolor($widthx, $heightx);
52:
53: /*沿着x轴翻转,就是将原图从上到下按一个像素宽度向新资源中逐个复制*/
54: for ($i=0; $i < $heightx; $i++) {
55: imagecopy($newx,$backx,0,$heightx-$i-1,0,$i,$widthx,1);
56: }
57:
58: /*保存翻转后的图片*/
59: imagepng($newx,'test4.png');
60:
61: /*释放资源*/
62: imagedestroy($backx);
63: imagedestroy($newx);
64: }
65: /*调用函数*/
66: turn_y('1.png');
67: turn_x('1.png');
68: ?>
69: <div style="float:left">
70: <h4>沿着y轴旋转</h4>
71: <img src="test3.png" style="border:1px solid red;">
72: </div>
73: <div style="float:left">
74: <h4>沿着x轴旋转</h4>
75: <img src="test4.png" style="border:1px solid red;">
76: </div>
效果
PHP图像操作:3D图、缩放、旋转、裁剪、添加水印(三)的更多相关文章
- 图像处理之OpenCV - 缩放/旋转/裁剪/加噪声/高斯模糊
Github地址 @ 缩放 void cv::resize ( InputArray src, OutputArray dst, Size dsize, , , int interpolation = ...
- Android Bitmap 常见的几个操作:缩放,裁剪,旋转,偏移
Android Bitmap 相关操作 常见的几个操作:缩放,裁剪,旋转,偏移 很多操作需要 Matrix 来支持:Matrix 通过矩阵来处理位图,计算出各个像素点的位置,从而把bitma ...
- 【数字图像处理】六.MFC空间几何变换之图像平移、镜像、旋转、缩放具体解释
本文主要讲述基于VC++6.0 MFC图像处理的应用知识,主要结合自己大三所学课程<数字图像处理>及课件进行解说,主要通过MFC单文档视图实现显示BMP图片空间几何变换.包含图像平移.图形 ...
- Fresco 二三事:图片处理之旋转、缩放、裁剪切割图片
关于Fresco加载图片的处理,例如旋转.裁剪切割图片,在官方文档也都有提到,只是感觉写的不太详细,正好最近项目里有类似需求,所以分享一些使用小tip,后面的朋友就不用再走弯路浪费时间了.(测试图片分 ...
- 用Js+css3实现图片旋转,缩放,裁剪,滤镜
还是前端图片的老话题,花了半天时间,东拼西凑,凑出个demo,优点在于代码少,核心代码就6行,目前刚做了旋转,缩放,裁剪,滤镜要js做,网络上也有现成的代码, 但是想做到自定义的滤镜咋办呢?这还要从底 ...
- 学习PHP中好玩的Gmagick图像操作扩展的使用
在 PHP 的图像处理领域,要说最出名的 GD 库为什么好,那就是因为它不需要额外安装的别的什么图像处理工具,而且是随 PHP 源码一起发布的,只需要在安装 PHP 的时候添加上编译参数就可以了. G ...
- 图像操作相关 With Quartz 2D
本文将为大家介绍常见的IOS图像处理操作包括以下四部分:旋转,缩放,裁剪以及像素和UIImage之间的转化,主要使用的知识是quartz2D.Quartz2D是CoreGraphics框架中的一个重要 ...
- 基本图像操作和处理(python)
基本图像操作和处理(python) PIL提供了通用的图像处理功能,以及大量的基本图像操作,如图像缩放.裁剪.旋转.颜色转换等. Matplotlib提供了强大的绘图功能,其下的pylab/pyplo ...
- 2014 年10个最佳的PHP图像操作库
2014 年10个最佳的PHP图像操作库 Thomas Boutell 以及众多的开发者创造了以GD图形库闻名的一个图形软件库,用于动态的图形计算. GD提供了对于诸如C, Perl, Pytho ...
- 2014 年10个最佳的PHP图像操作库--留着有用
Thomas Boutell 以及众多的开发者创造了以GD图形库闻名的一个图形软件库,用于动态的图形计算. GD提供了对于诸如C, Perl, Python, PHP, OCaml等等诸多编程语言的支 ...
随机推荐
- Mysql数据库int(1)和tinyint(1)的区别&&扩展阅读
转自:http://blog.csdn.net/phpwish/article/details/7845921 今天看项目的数据库结构设计,发现一个奇怪的地方. `xxx_detail` `del ...
- 使用CAShapeLayer与UIBezierPath画出想要的图形
使用CAShapeLayer与UIBezierPath可以实现不在view的drawRect方法中就画出一些想要的图形 步骤: 1.新建UIBezierPath对象bezierPath 2.新建CAS ...
- Quartz 并发/单线程
Quartz 并发/单线程 Quartz定时任务默认都是并发执行的,不会等待上一次任务执行完毕,只要间隔时间到就会执行, 如果定时任执行太长,会长时间占用资源,导致其它任务堵塞.1.在Spring中这 ...
- qtp与selenium2的区别
QTP: 我觉得qtp适合的人: 对编程不是很熟悉的 厌烦了手动的功能测试,想快速进入自动化行业的 公司想快速自动化项目,并且对价格或者对盗版无所谓的 vbs脚本语言易于上手,可以培训你对代码的兴趣 ...
- CMMI 配置管理
配置库的相关知识 通过建立物理配置库的设立规范.各配置库目录的设立原则,确保配置库的统一与规范,确保项目产品得到有效的管理与运用,提高资源的共享与利用:通过 变更管理活动,保证产品的完整.正确.一致, ...
- Python 中的isinstance函数
解释: Python 中的isinstance函数,isinstance是Python中的一个内建函数 语法: isinstance(object, classinfo) 如果参数object是cla ...
- linux下对符合条件的文件大小做汇总统计的简单命令
(1)统计当前目录下的 *txt 文件du -c -h *txt (2)统计当前目录下的 *txt 文件, 并求出总大小du *txt |awk 'BEGIN{count=0;size=0;} ...
- Android开发之网络请求HttpURLConnection
转:http://blog.csdn.net/guolin_blog/article/details/12452307 Android中主要提供了两种方式来进行HTTP操作,HttpURLConnec ...
- C++ string类的学习
string类对于处理字符串的一些应用非常的方便,我个人感觉,string和字符数组const char *很像,而且又比字符数组用起来方便的多. 注意其删除,取子串,插入等函数里面都有一个重载版本是 ...
- unique() 去重函数
unique()函数是一个去重函数,STL中unique的函数 unique的功能是去除相邻的重复元素(只保留一个), 还有一个容易忽视的特性是它并不真正把重复的元素删除.他是c++中的函数, 所以头 ...