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 相关文章推荐
document.open() 与 document.write()的区别
Aug 13 Javascript
JavaScript 判断浏览器类型及版本
Feb 21 Javascript
Jquery Ajax请求代码(2)
Jan 07 Javascript
JS基础之undefined与null的区别分析
Aug 08 Javascript
JS数学函数Exp使用说明
Aug 09 Javascript
js 事件截取enter按键页面提交事件示例代码
Mar 04 Javascript
js截取中英文字符串、标点符号无乱码示例解读
Apr 17 Javascript
AngularJS 应用身份认证的技巧总结
Nov 07 Javascript
Vue.js中extend选项和delimiters选项的比较
Jul 17 Javascript
jQuery实现键盘回车搜索功能
Jul 25 jQuery
从零开始封装自己的自定义Vue组件
Oct 09 Javascript
layui form.render('select', 'test2') 更新渲染的方法
Sep 27 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
星际实力自我测试
2020/03/04 星际争霸
php遍历数组的4种方法总结
2014/07/05 PHP
ThinkPHP中自定义错误页面和提示页面实例
2014/11/22 PHP
PHP排序算法之归并排序(Merging Sort)实例详解
2018/04/21 PHP
PHP中Static(静态)关键字功能与用法实例分析
2019/04/05 PHP
jQuery asp.net 用json格式返回自定义对象
2010/04/07 Javascript
兼容各大浏览器的JavaScript阻止事件冒泡代码
2015/07/09 Javascript
一些实用性较高的js方法
2016/04/19 Javascript
使用jQuery制作遮罩层弹出效果的极简实例分享
2016/05/12 Javascript
使用do...while的方法输入一个月中所有的周日(实例代码)
2016/07/22 Javascript
jquery判断类型是不是number类型的实例代码
2016/10/07 Javascript
python错误处理详解
2014/09/28 Python
Python3.x中自定义比较函数
2015/04/24 Python
在arcgis使用python脚本进行字段计算时是如何解决中文问题的
2015/10/18 Python
python分数表示方式和写法
2019/06/26 Python
Python绘制堆叠柱状图的实例
2019/07/09 Python
matlab灰度图像调整及imadjust函数的用法详解
2020/02/27 Python
Python序列化pickle模块使用详解
2020/03/05 Python
python 实现百度网盘非会员上传超过500个文件的方法
2021/01/07 Python
Django中template for如何使用方法
2021/01/31 Python
HTML5 使用 sessionStorage 进行页面传值的方法
2018/07/02 HTML / CSS
马来西亚最热门的在线时尚商店:FashionValet
2018/11/11 全球购物
娱乐地球:Entertainment Earth
2020/01/08 全球购物
波兰家居饰品和厨房配件网上商店:Maleomi
2020/12/15 全球购物
高一地理教学反思
2014/01/18 职场文书
副董事长岗位职责
2014/04/02 职场文书
关于运动会的口号
2014/06/07 职场文书
建筑工程技术专业求职信
2014/07/16 职场文书
职工擅自离岗检讨书
2014/09/23 职场文书
群众路线四风问题整改措施
2014/09/27 职场文书
家长反馈意见及建议
2015/06/03 职场文书
领导激励员工的演讲稿,各种会上用得到,建议收藏
2019/08/13 职场文书
CSS中Single Div 绘图技巧的实现
2021/06/18 HTML / CSS
Flask使用SQLAlchemy实现持久化数据
2021/07/16 Python
css实现左上角飘带效果的完整代码
2022/03/18 HTML / CSS
Windows Server 2019 安装DHCP服务及相关配置
2022/04/28 Servers