JQuery PHP图片在线裁剪实例


Posted in Javascript onJuly 27, 2020

/ * Goofy 2011-11-29 * 图像处理:根据传递过来的坐标参数,x,y,w,h,依次为选取的x坐标,y坐标,w宽度,h高度 通过imagecopy()方法将该区域copy至第一步创建的空白图像中 注意,在创建图像的时候要用imagecreatetruecolor()真彩色,不然用imagecreate()图片会失真 */

自由图片剪切 无比例

<?php
 
/**
 * Goofy 2011-11-29
 * 图像处理:根据传递过来的坐标参数,x,y,w,h,依次为选取的x坐标,y坐标,w宽度,h高度
 * 通过imagecopy()方法将该区域copy至第一步创建的空白图像中
 * 注意,在创建图像的时候要用imagecreatetruecolor()真彩色,不然用imagecreate()图片会失真
 */
 
//页面传过来的比例
$scale=$_GET['scale'];
//下面的属性乘以相应的比例
$x=$_GET['x']*$scale;
$y=$_GET['y']*$scale;
$w=$_GET['w']*$scale;
$h=$_GET['h']*$scale;
 
//源路径
$src=$_GET['src'];
 
//是否继续?如果不继续在这张图片截图,会将源图片删除
$again="off";
if(!empty($_GET['again'])){
 $again=$_GET['again'];
}
 
//第一步,根据传来的宽,高参数创建一幅图片,然后正好将截取的部分真好填充到这个区域
header("Content-type: image/jpeg");
$target = @imagecreatetruecolor($w,$h)
 or die("Cannot Initialize new GD image stream");
 
//第二步,根据路径获取到源图像,用源图像创建一个image对象
$source = imagecreatefromjpeg($src);
 
//第三步,根据传来的参数,选取源图像的一部分填充到第一步创建的图像中
imagecopy( $target, $source, 0, 0, $x, $y, $w, $h);
 
//第四步,保存图像
 //截取并组织新路径
$pos_path= strripos($src, "/");
$newPath=substr($src,0,$pos_path-strlen($src))."_new/";
 //截取并组织新名称
$pos_name=strripos($src, ".");
$newName=substr($src,0,$pos_name);
$pos_name_= strripos($newName, "/");
 //这里暂时不加后缀“.jpg”,防止有重复的文件,如果有,需要重命名,加了后会不方便
$newName=substr($newName,$pos_name_-strlen($newName)+1)."_";
 //生成不带后缀的图片
$file=$newPath.$newName;
 
//附加asc码重命名文件,也可以用随机数,时间等命名,项目需求我不用那些命名方法了
for($i=0;$i<26;$i++){
 
 //如果目录存在
 if(is_dir($newPath)){
 //如果文件存在,继续循环,直到没有重名的文件
 if(is_file($file.chr(97+$i).".jpg")){
  continue;
 }else{
  //创建文件
  imagejpeg($target,$file.chr(97+$i).".jpg",100);
  //文件创建完成确定是否删除源文件,off为删除源文件
  if($again=="off"){
  unlink($src);
  unset($_SESSION['url']);
  }
  break;
 
 }
 }else{
 //创建目录
 mkdir($newPath);
 //创建文件
 imagejpeg($target,$file.chr(97+$i).".jpg",100);
 //文件创建完成确定是否删除源文件,off为删除源文件
 if($again=="off"){
  unlink($src);
  unset($_SESSION['url']);
 }
 break;
 }
}
//跳转到首页
Header("Location: index.php"); 
?>

以上就是本文的全部内容,希望对大家有所帮助,希望大家继续关注三水点靠木的最新内容。

Javascript 相关文章推荐
jquery入门必备的基本认识及实例(整理)
Jun 24 Javascript
JQUERY实现左侧TIPS滑进滑出效果示例
Jun 27 Javascript
JS实现超过长度限制后自动跳转下一款文本框的方法
Feb 23 Javascript
JQuery复制DOM节点的方法
Jun 11 Javascript
浅谈JavaScript中的字符编码转换问题
Jul 07 Javascript
JS表格组件神器bootstrap table详解(基础版)
Dec 08 Javascript
AngularJs动态加载模块和依赖注入详解
Jan 11 Javascript
JS 实现倒计时数字时钟效果【附实例代码】
Mar 30 Javascript
Vue.js devtool插件安装后无法使用的解决办法
Nov 27 Javascript
Angular实现模版驱动表单的自定义校验功能(密码确认为例)
May 17 Javascript
vue.js通过路由实现经典的三栏布局实例代码
Jul 08 Javascript
React组件对子组件children进行加强的方法
Jun 23 Javascript
JavaScript SHA-256加密算法详细代码
Oct 06 #Javascript
JavaScript SHA1加密算法实现详细代码
Oct 06 #Javascript
JavaScript仿网易选项卡制作代码
Oct 06 #Javascript
Javascript中作用域的详细介绍
Oct 06 #Javascript
js实现非常棒的弹出div
Oct 06 #Javascript
jQuery事件用法详解
Oct 06 #Javascript
KVM虚拟化技术之使用Qemu-kvm创建和管理虚拟机的方法
Oct 05 #Javascript
You might like
在PHP中使用XML
2006/10/09 PHP
使用PHPMyAdmin修复论坛数据库的图文方法
2012/01/09 PHP
mcrypt启用 加密以及解密过程详细解析
2013/08/07 PHP
php获取根域名方法汇总
2014/10/28 PHP
让您的菜单不离网站
2006/10/03 Javascript
Jquery方式获取iframe页面中的 Dom元素
2014/05/07 Javascript
AngularJS入门心得之directive和controller通信过程
2016/01/25 Javascript
React组件之间的通信的实例代码
2017/06/27 Javascript
Vue.js 2.0和Cordova开发webApp环境搭建方法
2018/02/26 Javascript
vue项目中jsonp跨域获取qq音乐首页推荐问题
2018/05/30 Javascript
vue router 跳转后回到顶部的实例
2018/08/31 Javascript
vue调试工具vue-devtools安装及使用方法
2018/11/07 Javascript
详解@angular/cli 改变默认启动端口两种方式
2018/11/29 Javascript
JavaScript ES 模块的使用
2020/11/12 Javascript
使用python绘制人人网好友关系图示例
2014/04/01 Python
Python元组操作实例分析【创建、赋值、更新、删除等】
2017/07/24 Python
python利用rsa库做公钥解密的方法教程
2017/12/10 Python
PyTorch学习笔记之回归实战
2018/05/28 Python
Python判断一个三位数是否为水仙花数的示例
2018/11/13 Python
python实现支付宝转账接口
2019/05/07 Python
解决Python发送Http请求时,中文乱码的问题
2020/04/30 Python
Python pandas对excel的操作实现示例
2020/07/21 Python
Pandas直接读取sql脚本的方法
2021/01/21 Python
python使用numpy中的size()函数实例用法详解
2021/01/29 Python
css3简单练习实现遨游浏览器logo的绘制
2013/01/30 HTML / CSS
Booking.com美国:全球酒店预订网站
2017/04/18 全球购物
经典c++面试题二
2015/08/14 面试题
自主招生自荐信指南
2014/02/04 职场文书
单位委托书怎么写
2014/09/21 职场文书
计划生育汇报材料
2014/12/26 职场文书
情人节活动总结范文
2015/02/05 职场文书
2017年寒假少先队活动总结
2016/04/06 职场文书
话题作文之关于呼唤
2019/11/29 职场文书
alibaba seata服务端具体实现
2022/02/24 Java/Android
Python利用Turtle绘制哆啦A梦和小猪佩奇
2022/04/04 Python
以下牛机,你有几个
2022/04/05 无线电