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>

效果

时间: 2024-08-03 14:53:15

PHP图像处理:3D图纸、缩放、回转、剪下、水印(三)的相关文章

Qt在Windows下的三种编程环境搭建(图文并茂,非常清楚)good

尊重作者,支持原创,如需转载,请附上原地址:http://blog.csdn.net/libaineu2004/article/details/17363165 从QT官网可以得知其支持的平台.编译器和调试器的信息如图所示: http://qt-project.org/doc/qtcreator-3.0/creator-debugger-engines.html (Home | Docs | Qt Creator 3.0 | Debuggingand Analyzing | Setting Up

Qt在Windows下的三种编程环境搭建

尊重作者,支持原创,如需转载,请附上原地址:http://blog.csdn.net/libaineu2004/article/details/17363165 从QT官网可以得知其支持的平台.编译器和调试器的信息如图所示: http://qt-project.org/doc/qtcreator-3.0/creator-debugger-engines.html (Home | Docs | Qt Creator 3.0 | Debuggingand Analyzing | Setting Up

PHP图片的等比缩放和增加Logo水印详细代码和注释

<?php //PHP图片的等比缩放和增加Logo水印 --->百度 "美日汇" /** * 等比缩放函数(以保存的方式实现) * @param string $picName 被缩放的处理图片源 * @param int $maxx 缩放后图片的最大宽度 * @param int $maxy 缩放后图片的最大高度 * @param string $pre 缩放后图片名的前缀名 * @return String 返回后的图片名称(带路径),如a.jpg=>s_a.jp

Qt4.8在Windows下的三种编程环境搭建

Qt的版本是按照不同的图形系统来划分的,目前分为四个版本:Win32版,适用于Windows平台:X11版,适合于使用了X系统的各种Linux和Unix平台:Mac版,适合与苹果MacOSX:embedded版,适合于具有帧缓冲(frame buffer)的Linux平台. Qt-embedded和Qtopia Qt在刚出现的时候,对于Linux和Unix系统,只有构建于Xlib之上的X11版.但随着Linux操作系统在嵌入式领域的应用日渐广泛,Qt推出 了嵌入式的版本Qt-embedded(Q

内嵌盒子定位和居中问题,在缩放浏览器情况下,不会影响盒子的布局

问题描述:第一眼我们看到上图,可能就想到用浮动来布局,但是在用浏览器调试缩放时“您好中国”盒子会自然成列.那么怎么让他们自适应,让好和中之间始终处于浏览器中间位置? <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> <style> *{ margin: 0; p

[转]opencv3 图像处理 之 图像缩放( python与c++实现 )

转自:https://www.cnblogs.com/dyufei/p/8205121.html 一. 主要函数介绍 1) 图像大小变换 cvResize () 原型: voidcvResize(const CvArr* src,CvArr* dst,intinterpolation=CV_INTER_LINEAR ); 说明: src 表示输入图像.dst表示输出图像.intinterpolation插值方法,有以下四种: CV_INTER_NN - 最近邻插值,CV_INTER_LINEAR

互联网金融下,三四线城市需有自己的P2P平台

如果你听到有人说什么"羊毛出在猪身上让牛去买单".什么"XX行业万亿市场"之类的很扯的话,那个人不是干互联网的,就是干金融的,哦对了,他更有可能是干互联网金融的. 互联网本来就有点浮躁,再加上金融的忽悠特质,互联网金融会出现一些比如P2P公司倒闭,老板跑路之类的不靠谱现象太正常不过了. 言归正传,虽然有不少臭鱼搅腥了互联网金融这锅汤,但互联网金融确实是一次重大创新,大方向上没有问题,国家在战略层面很支持,银行业也非常关注这一块的发展.现在的问题是互联网非常容易产生虹

VMware虚拟机下的三种网络连接模式

VMware虚拟机常见的网络类型有bridged(桥接).NAT(地址转换).host-only(仅主机)3种,在分析如何选择之前,先简单向大家介绍一下三种网络类型: 1.   NAT(地址转换) NAT(网络地址转换),NAT模式是比较简单的实现虚拟机上网的方式,简单的理解,NAT模式的虚拟就是通过宿主机(物理电脑)上网和交换数据的. 图1-1  NAT网络逻辑图 2.    Bridged(桥接模式) 桥接模式可以简单理解为通过物理主机网卡架设了一座桥,从而连入到了实际的网络中.在Bridg

VMware Workstation环境下的三种网络配置桥接,NAT和HOST-ONLY

安装完虚拟机后,默认安装了两个虚拟网卡,VMnet1和VMnet8,其他的未安装(当然也可以手动安装其他的).其中VMnet1是host网卡,用于host方式连接网络的.VMnet8是NAT网卡,用于NAT方式连接网络的.它们的IP地址是随机生成的,如果要用虚拟机做实验的话,最好将VMnet1到VMnet8的IP地址改掉.习惯上把VMware虚拟网卡使用的网段"固定",使用如下原则:VMnet1对应的网段是192.168.10.0,VMnet2对应的网段是192.168.20.0,其他