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 对话框和状态栏使用说明
Oct 25 Javascript
jquery中获取元素的几种方式小结
Jul 05 Javascript
js遍历map javaScript遍历map的简单实现
Aug 26 Javascript
Vue.js每天必学之过滤器与自定义过滤器
Sep 07 Javascript
微信小程序开发实战教程之手势解锁
Nov 18 Javascript
Angualrjs 表单验证的两种方式(失去焦点验证和点击提交验证)
May 09 Javascript
bootstrap模态框示例代码分享
May 17 Javascript
在Vue中使用echarts的方法
Feb 05 Javascript
Echart折线图手柄触发事件示例详解
Dec 16 Javascript
JS字典Dictionary类定义与用法示例
Feb 01 Javascript
jQuery+css实现的点击图片放大缩小预览功能示例【图片预览 查看大图】
May 29 jQuery
24个ES6方法解决JS实际开发问题(小结)
May 31 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
CentOS6.5 编译安装lnmp环境
2014/12/21 PHP
Jquery AutoComplete自动完成 的使用方法实例
2010/03/19 Javascript
jQuery用unbind方法去掉hover事件及其他方法介绍
2013/03/18 Javascript
Jquery获取复选框被选中值的简单方法
2013/07/04 Javascript
Javascript实现带关闭按钮的网页漂浮广告代码
2014/01/12 Javascript
jQuery如何将选中的对象转化为原始的DOM对象
2014/06/09 Javascript
JavaScript跨平台的开源框架NativeScript
2015/03/24 Javascript
JavaScript中DOM详解
2015/04/13 Javascript
学习javascript的闭包,原型,和匿名函数之旅
2015/10/18 Javascript
jQuery实现滑动页面固定顶部显示(可根据显示位置消失与替换)
2015/10/28 Javascript
原生js二级联动效果
2017/06/20 Javascript
详解vue-cli本地环境API代理设置和解决跨域
2017/09/05 Javascript
浅谈jquery中ajax跨域提交的时候会有2次请求的问题
2017/11/10 jQuery
微信小程序日期时间选择器使用方法
2018/02/01 Javascript
JS中touchstart事件与click事件冲突的解决方法
2018/03/12 Javascript
webpack4 css打包压缩问题的解决
2018/05/18 Javascript
[56:35]DOTA2上海特级锦标赛主赛事日 - 5 总决赛Liquid VS Secret第一局
2016/03/06 DOTA
跟老齐学Python之让人欢喜让人忧的迭代
2014/10/02 Python
python threading模块操作多线程介绍
2015/04/08 Python
Python中防止sql注入的方法详解
2017/02/25 Python
Python解惑之True和False详解
2017/04/24 Python
解决python3 urllib 链接中有中文的问题
2018/07/16 Python
在PyCharm中三步完成PyPy解释器的配置的方法
2018/10/29 Python
关于numpy.where()函数 返回值的解释
2019/12/06 Python
纯css3实现宠物小鸡实例代码
2018/10/08 HTML / CSS
HTML5播放实现rtmp流直播
2020/06/16 HTML / CSS
波兰香水和化妆品购物网站:Notino.pl
2017/11/07 全球购物
Under Armour安德玛中国官网:美国高端运动科技品牌
2018/03/09 全球购物
Square Off美国/加拿大:世界上最聪明的国际象棋棋盘
2018/12/06 全球购物
医学专业应届生的自我评价
2014/02/28 职场文书
农民工工资发放承诺书
2014/03/31 职场文书
小学一年级评语大全
2014/04/22 职场文书
不听老师话的万能检讨书
2014/10/04 职场文书
公司开会通知
2015/04/20 职场文书
投标单位介绍信
2015/05/05 职场文书
校园之声广播稿
2015/08/18 职场文书