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 相关文章推荐
经常用到的JavasScript事件的翻译
Apr 09 Javascript
基于jquery用于查询操作的实现代码
May 10 Javascript
小试JQuery的AutoComplete插件
May 04 Javascript
关于JavaScript与HTML的交互事件
Apr 12 Javascript
使用AngularJS实现表单向导的方法
Jun 19 Javascript
jQuery Easyui学习之datagrid 动态添加、移除editor
Jan 27 Javascript
js判断checkbox是否选中个数的方法(超简单)
Aug 19 Javascript
Vue2.0用户权限控制解决方案的示例
Feb 10 Javascript
浅谈FastClick 填坑及源码解析
Mar 02 Javascript
JQuery实现ul中添加LI和删除指定的Li元素功能完整示例
Oct 16 jQuery
vue+axios 拦截器实现统一token的案例
Sep 11 Javascript
vue中div禁止点击事件的实现
Apr 02 Vue.js
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接收POST数据方式
2015/06/05 PHP
Laravel中基于Artisan View扩展包创建及删除应用视图文件的方法
2016/10/08 PHP
php smtp实现发送邮件功能
2017/06/22 PHP
php中上传文件的的解决方案
2018/09/25 PHP
php微信扫码支付 php公众号支付
2019/03/24 PHP
php解压缩zip和rar压缩包文件的方法
2019/07/10 PHP
php框架CI(codeigniter)自动加载与自主创建对象操作实例分析
2020/06/06 PHP
jquery中防刷IP流量软件影响统计的一点对策
2011/07/10 Javascript
script的async属性以非阻塞的模式加载脚本
2013/01/15 Javascript
13 款最热门的 jQuery 图像 360 度旋转插件推荐
2014/12/09 Javascript
JavaScript 事件对象介绍
2015/04/13 Javascript
jQuery网页版打砖块小游戏源码分享
2015/08/20 Javascript
Bootstrap中的表单验证插件bootstrapValidator使用方法整理(推荐)
2016/06/21 Javascript
jQuery中DOM节点删除之empty与remove
2017/01/20 Javascript
jQuery ajax动态生成table功能示例
2017/06/14 jQuery
bootstrap Table插件使用demo
2017/08/07 Javascript
javascript高仿热血传奇游戏实现代码
2018/02/22 Javascript
详解Vue 单文件组件的三种写法
2020/02/19 Javascript
vue实现匀速轮播效果
2020/06/29 Javascript
[01:02:10]DOTA2上海特级锦标赛B组小组赛#2 VG VS Fnatic第一局
2016/02/26 DOTA
python list排序的两种方法及实例讲解
2017/03/20 Python
Python探索之URL Dispatcher实例详解
2017/10/28 Python
pycharm远程开发项目的实现步骤
2019/01/20 Python
python中列表的含义及用法
2020/05/26 Python
利用OpenCV中对图像数据进行64F和8U转换的方式
2020/06/03 Python
Python求区间正整数内所有素数之和的方法实例
2020/10/13 Python
使用Python提取文本中含有特定字符串的方法示例
2020/12/09 Python
Lacoste澳大利亚官网:服装、鞋类及配饰
2018/11/14 全球购物
毕业学生推荐信
2013/12/01 职场文书
如何写一封打动人心的求职信
2014/02/17 职场文书
中学生期中自我鉴定
2014/04/20 职场文书
高中生操行评语
2014/04/25 职场文书
《社戏》教学反思
2016/02/22 职场文书
2016年教师党员承诺书范文
2016/03/24 职场文书
如何书写授权委托书?
2019/06/25 职场文书
Java 写一个简单的图书管理系统
2022/04/26 Java/Android