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数组组合成字符串的脚本
Jan 06 Javascript
IE6 弹出Iframe层中的文本框“经常”无法获得输入焦点
Dec 27 Javascript
基于JQuery的Select选择框的华丽变身
Aug 23 Javascript
jQuery EasyUI API 中文文档 - PropertyGrid属性表格
Nov 18 Javascript
javascript设计模式 封装和信息隐藏(上)
Jul 24 Javascript
JavaScript高级程序设计(第3版)学习笔记2 js基础语法
Oct 11 Javascript
使用js对select动态添加和删除OPTION示例代码
Aug 12 Javascript
javascript计时器事件使用详解
Jan 07 Javascript
JavaScript运行时库属性一览表
Mar 14 Javascript
JavaScript通过Date-Mask将日期转换成字符串的方法
Jun 04 Javascript
简单实现bootstrap导航效果
Feb 07 Javascript
jQuery实现开关灯效果
Aug 02 jQuery
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
教你如何在CI框架中使用 .htaccess 隐藏url中index.php
2014/06/09 PHP
PHP网站开发中常用的8个小技巧
2015/02/13 PHP
PHPstorm快捷键(分享)
2017/07/17 PHP
PHP变量的作用范围实例讲解
2020/12/22 PHP
用JQuery实现表格隔行变色和突出显示当前行的代码
2012/02/10 Javascript
javascript 利用Image对象实现的埋点(某处的点击数)统计
2012/12/28 Javascript
jQuery常用操作方法及常用函数总结
2014/06/19 Javascript
鼠标点击input,显示瞬间的边框颜色,对之修改与隐藏实例
2016/12/26 Javascript
jQuery实现键盘回车搜索功能
2017/07/25 jQuery
利用10行js代码实现上下滚动公告效果
2017/12/08 Javascript
AngularJS select加载数据选中默认值的方法
2018/02/28 Javascript
如何能分清npm cnpm npx nvm
2019/01/17 Javascript
node链接mongodb数据库的方法详解【阿里云服务器环境ubuntu】
2019/03/07 Javascript
Vue常用传值方式、父传子、子传父及非父子实例分析
2020/02/24 Javascript
vue循环中点击选中再点击取消(单选)的实现
2020/09/10 Javascript
jQuery实现朋友圈查看图片
2020/09/11 jQuery
全网小程序接口请求封装实例代码
2020/11/06 Javascript
[01:14]英雄,所敬略同——2018完美盛典宣传视频4K
2018/12/05 DOTA
Python处理字符串之isspace()方法的使用
2015/05/19 Python
Python正则简单实例分析
2017/03/21 Python
python基于ID3思想的决策树
2018/01/03 Python
Python使用xlwt模块操作Excel的方法详解
2018/03/27 Python
详解如何管理多个Python版本和虚拟环境
2019/05/10 Python
详解在Python中以绝对路径或者相对路径导入文件的方法
2019/08/30 Python
tensorflow实现残差网络方式(mnist数据集)
2020/05/26 Python
css3实现多个元素依次显示效果
2017/12/12 HTML / CSS
html5 canvas 简单画板实现代码
2012/01/05 HTML / CSS
师范学院教师自荐书
2014/01/31 职场文书
处级领导班子全部召开专题民主生活会情况汇报
2014/09/27 职场文书
人民调解协议书范本
2014/10/11 职场文书
党员个人整改方案及措施
2014/10/25 职场文书
2015年小学语文教学工作总结
2015/05/25 职场文书
企业催款函范本
2015/06/24 职场文书
2019中小学生安全过暑期倡议书
2019/06/24 职场文书
html5中sharedWorker实现多页面通信的示例代码
2021/05/07 Javascript
python内置进制转换函数的操作
2021/06/02 Python