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 相关文章推荐
javascript css styleFloat和cssFloat
Mar 15 Javascript
js操作textarea方法集合封装(兼容IE,firefox)
Feb 22 Javascript
stream.js 一个很小、完全独立的Javascript类库
Oct 28 Javascript
js中scrollHeight,scrollWidth,scrollLeft,scrolltop等差别介绍
May 16 Javascript
javascript获取四位数字或者字母的随机数
Jan 09 Javascript
jquery实现的缩略图预览滑块实例
Jun 25 Javascript
PHP获取当前页面完整URL的方法
Dec 02 Javascript
Javascript实现一个简单的输入关键字添加标签效果实例
Jun 01 Javascript
jQuery获取复选框选中的当前行的某个字段的值
Sep 15 jQuery
微信小程序 配置顶部导航条标题颜色的实现方法
Sep 20 Javascript
详解在Node.js中发起HTTP请求的5种方法
Jan 10 Javascript
JavaScript 正则应用详解【模式、欲查、反向引用等】
May 13 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读取数据库并按照中文名称进行排序实现代码
2013/01/29 PHP
PHP获取栏目的所有子级和孙级栏目的ID号示例
2014/04/01 PHP
PHP生成word文档的三种实现方式
2016/11/14 PHP
javascript window对象属性整理
2009/10/24 Javascript
jquery mobile的触控点击事件会多次触发问题的解决方法
2014/05/08 Javascript
自写的jQuery异步加载数据添加事件
2014/05/15 Javascript
推荐一个封装好的getElementsByClassName方法
2014/12/02 Javascript
node.js中的http.response.setHeader方法使用说明
2014/12/14 Javascript
JavaScript设计模式之原型模式(Object.create与prototype)介绍
2014/12/28 Javascript
Angular中$compile源码分析
2016/01/28 Javascript
微信小程序实现image组件图片自适应宽度比例显示的方法
2018/01/16 Javascript
webpack4实现不同的导出类型
2019/04/09 Javascript
layui 富文本编辑器和textarea值的相互传递方法
2019/09/18 Javascript
[13:38]2015国际邀请赛中国战队出征仪式
2015/05/29 DOTA
tensorflow中next_batch的具体使用
2018/02/02 Python
python 通过字符串调用对象属性或方法的实例讲解
2018/04/21 Python
Django restframework 源码分析之认证详解
2019/02/22 Python
Django如何使用第三方服务发送电子邮件
2019/08/14 Python
np.random.seed() 的使用详解
2020/01/14 Python
python 制作磁力搜索工具
2021/03/04 Python
使用html2canvas.js实现页面截图并显示或上传的示例代码
2018/12/18 HTML / CSS
Java提供了哪些企业应用编程接口
2015/02/13 面试题
大学生求职推荐信
2013/11/27 职场文书
法院授权委托书范文
2014/08/02 职场文书
2014年老干部工作总结
2014/11/21 职场文书
党支部承诺书
2015/01/20 职场文书
中学生逃课检讨书
2015/02/17 职场文书
2015年置业顾问工作总结
2015/04/07 职场文书
2015年乡镇纪检工作总结
2015/04/22 职场文书
2015年党支部书记工作总结
2015/05/21 职场文书
工作态度怎么写
2015/06/25 职场文书
老人节主持词
2015/07/04 职场文书
放飞理想主题班会
2015/08/14 职场文书
2016年学校党支部创先争优活动总结
2016/04/05 职场文书
优秀的商业计划书,让融资一步到位
2019/05/07 职场文书
Python中可变和不可变对象的深入讲解
2021/08/02 Python