来源: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>

效果

转载于:https://www.cnblogs.com/hrhguanli/p/4593711.html

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

  1. CAD图纸缩放后怎么返回原点?

    在对CAD图纸进行查看的时候,遇到太小或太大看不清的情况下,你是不是都是用鼠标来调整的呢?那么问题来了,到最后想要保存的时候你原本设置的比例大小忘了怎么办?下面教你快速解决这个问题的CAD制图教程. ...

  2. 汽车差速器、汽车启动机、汽车座椅、汽车离合器外壳工艺工装设计、汽车悬挂系统3D图纸、汽车前鼓式制动器、后鼓式制动器、自行车碟刹、汽车制动鼓、汽车手刹、汽车起重机设计、汽车千斤顶设计…………

    3DBM汽车前转化器焊接夹具 汽车引擎泄漏检测机SW 汽车引擎盖机器人自动焊接工作站STP REVA汽车模组组装机械设备IGS 汽车音响检测设备SW 汽车连杆精工加机床 汽车差速器全套3D模型三维图纸 ...

  3. Python图像处理丨图像缩放、旋转、翻转与图像平移

    摘要:本篇文章主要讲解Python调用OpenCV实现图像位移操作.旋转和翻转效果,包括四部分知识:图像缩放.图像旋转.图像翻转.图像平移. 本文分享自华为云社区<[Python图像处理] 六. ...

  4. OpenCV图像处理(14)——文件夹下所有图像转灰度

    前言 一个项目中,给三维模型的贴图是彩色的,但是要实现红外的纹理贴图,首先第一步是将彩色的转换成灰度,但是对于FBX格式文件,是如何从文件夹下读取不同部件的贴图,已经贴图的不同LOD级别,还没有搞清楚 ...

  5. 六边形3d立体缩放动画js特效

    下载地址 一款六边形3d立体缩放动画特效,该特效模拟了六边形3d柱状上下浮动的动画效果,鼠标控制可缩放图像,简单实用 dd:

  6. 257套工业机器人SW设计3D图纸焊接机械手/发那科ABB安川臂模型

    257套工业机器人SW设计3D图纸焊接机械手/发那科ABB安川臂模型 tao <img src="https://img-blog.csdnimg.cn/601dfd27b55e427 ...

  7. 鹏业安装算量软件操作按钮之图纸缩放与图元操作

    使用安装算量软件一定要对软件的操作界面及功能按钮位置熟悉,熟悉的操作才会带来工作效率的提高. 图纸缩放 全图:将图纸内容最大化显示到图纸显示区中间: 放大:将图纸按中心按一定比例进行放大: 缩小:将图 ...

  8. 32套无碳小车重力势能小车8字型S型工程训练大赛sw建模3D图纸设计

    32套无碳小车重力势能小车8字型S型工程训练大赛sw建模3D图纸设计 tao <img src="https://img-blog.csdnimg.cn/29ee6d5125d4423 ...

  9. 800套经典机械结构设计非标自动化SW机构3D图纸solidWorks模型库

    800套经典机械结构设计非标自动化SW机构3D图纸solidWorks模型库 资料名称 800套机械结构案例库3D 搜索店铺:枫启教育 资料大小9.5G(未解压) 软件格式 solidworks201 ...

  10. 1万套Solidworks非标自动化设备3D图纸机械设计SW模型库建模三维

    1万套Solidworks非标自动化设备3D图纸机械设计SW模型库建模三维 资料名称 Solidworks建模非标设备图纸 1万套/500GB(未解压) 资料大小 软件版本|SW16版打开8成,SW1 ...

最新文章

  1. Android代码规范----按钮单击事件的四种写法
  2. linux fls函数,linux常用操作命令
  3. JDK 1.5 新特性——自动拆箱装箱
  4. Linux下WRF Domain Wizard使用教程(PART2: 使用教程及 遇到的种种BUG)
  5. angular项目如何分层
  6. Electron学习-创建一个程序
  7. 每日程序C语言5-斐波那契兔子数
  8. R语言学习(10)获取数据
  9. 【Java】使用Switch语句实现成绩等级判断
  10. 数据中心操作人员:艰难地在针对VM构建的基础设施上运行容器
  11. AI 新基建怎么做,腾讯云正式公布全景布局
  12. PDF文件编辑方法:PDF怎么插入图片背景
  13. X86、X64和X86_64区别
  14. Linux 创建oracle数据库
  15. recovery.img 的解包与打包
  16. Improving Few-Shot Learning with Auxiliary Self-Supervised Pretext Tasks(论文解读)
  17. 如何查看计算机管理员用户名和密码,Administrator密码怎么找回教程
  18. 【编程不良人】快速入门SpringBoot学习笔记06---RestFul、异常处理、CORS跨域、Jasypt加密
  19. exynos4412驱动程序教程.0
  20. 无法安装64(32)office,已经安装32(64)office解决方法

热门文章

  1. 原生vue.js实现待办事项清单,支持增删改查
  2. OSCache操作详解+标签使用
  3. 使用 APPLY 来为每行调用表值函数
  4. vscode的eslint无效_VSCode配置eslint
  5. c语言中动态数组的实现
  6. Android的MediaPlayer架构介绍
  7. GIS之旅——研究生总结
  8. 5.3.2 先行发生
  9. android view 屏幕外,安卓如何让View往屏幕外隐藏?
  10. java.io.IOException: Server asks us to fall back to SIMPLE auth, but this client is confi的问题