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 相关文章推荐
原生js结合html5制作简易的双色子游戏
Mar 30 Javascript
javascript实现删除前弹出确认框
Jun 04 Javascript
jQuery实现的精美平滑二级下拉菜单效果代码
Mar 28 Javascript
用jmSlip编写移动端顶部日历选择控件
Oct 24 Javascript
浅谈js算法和流程控制
Dec 29 Javascript
10道典型的JavaScript面试题
Mar 22 Javascript
XMLHttpRequest对象_Ajax异步请求重点(推荐)
Sep 28 Javascript
vue-quill-editor+plupload富文本编辑器实例详解
Oct 19 Javascript
inquirer.js一个用户与命令行交互的工具详解
May 18 Javascript
js数组中去除重复值的几种方法
Aug 03 Javascript
Vue触发input选取文件点击事件操作
Aug 07 Javascript
原生js实现移动小球(碰撞检测)
Dec 17 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
虹吸式咖啡壶操作
2021/03/03 冲泡冲煮
开源php中文分词系统SCWS安装和使用实例
2014/04/11 PHP
PHP往XML中添加节点的方法
2015/03/12 PHP
php生成静态页面并实现预览功能
2019/06/27 PHP
jQuery事件 delegate()使用方法介绍
2012/10/30 Javascript
JavaScript 实现完美兼容多浏览器的复制功能代码
2015/04/28 Javascript
javascript截取字符串小结
2015/04/28 Javascript
Javascript中的方法和匿名方法实例详解
2015/06/13 Javascript
JavaScript DOM 学习总结(五)
2015/11/24 Javascript
纯js实现倒计时功能
2017/01/06 Javascript
JavaScript自动点击链接 防止绕过浏览器访问的方法
2017/01/19 Javascript
解决Vue不能检测数组或对象变动的问题
2018/02/24 Javascript
webpack 样式加载的实现原理
2018/06/12 Javascript
浅谈Angular 观察者模式理解
2018/11/01 Javascript
JavaScript forEach中return失效问题解决方案
2020/06/01 Javascript
python执行子进程实现进程间通信的方法
2015/06/02 Python
解析Python中while true的使用
2015/10/13 Python
python将ansible配置转为json格式实例代码
2017/05/15 Python
用python实现k近邻算法的示例代码
2018/09/06 Python
python连接mongodb密码认证实例
2018/10/16 Python
python中的tcp示例详解
2018/12/09 Python
Python实现点阵字体读取与转换的方法
2019/01/29 Python
python3 selenium自动化 frame表单嵌套的切换方法
2019/08/23 Python
基于python实现从尾到头打印链表
2019/11/02 Python
python百行代码自制电脑端网速悬浮窗的实现
2020/05/12 Python
HTML5自定义属性前缀data-及dataset的使用方法(html5 新特性)
2017/08/24 HTML / CSS
关于Java String的一道面试题
2013/09/29 面试题
解决python 输出到csv 出现多空行的情况
2021/03/24 Python
物流管理专业职业生涯规划书
2014/01/06 职场文书
酒店行政人事部经理职务说明书
2014/02/26 职场文书
内科护士节演讲稿
2014/09/11 职场文书
标准离婚协议书(2014版)
2014/10/05 职场文书
实习计划书范文
2015/01/16 职场文书
工商行政处罚决定书
2015/06/24 职场文书
教你怎么用Python实现GIF动图的提取及合成
2021/06/15 Python
vue 把二维或多维数组转一维数组
2022/04/24 Vue.js