PHP结合JQueryJcrop实现图片裁切实例详解


Posted in PHP onJuly 24, 2014

我们经常可以看到一些网站上有图片剪切的功能,或许你会觉得这一功能炫目华丽,神秘莫测!但是今天介绍的一款专用于图片裁切的插件jquery.Jcrop.min.js就将揭开图片剪切的神秘面纱。使用这个插件可以很方便的实现这一功能,使用时仅需鼠标在图片上圈选出选区,即可把图片裁切成所选部分,非常适合用于头像的裁切编辑功能。

本实例演示分为HTML和php两部分:

第一部分,HTML代码:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Jcrop实现图片裁剪</title>
<script src="./jquery-1.6.2.min.js"></script>
<script src="./jquery.Jcrop.min.js"></script>
<link rel="stylesheet" href="./jquery.Jcrop.min.css" rel="external nofollow" type="text/css" />
<style type="text/css">
#preview{width:100px;height:100px;border:1px solid #000;overflow:hidden;}
#imghead{filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(sizingMethod=image);}
</style>
<script language="Javascript">
jQuery(function(){
 jQuery('#imghead').Jcrop({
 aspectRatio: 1,
 onSelect: updateCoords, //选中区域时执行对应的回调函数
 onChange: updateCoords, //选择区域变化时执行对应的回调函数
 });
});
function updateCoords(c)
{
 jQuery('#x').val(c.x); //选中区域左上角横
 jQuery('#y').val(c.y); //选中区域左上角纵坐标
 //jQuery("#x2").val(c.x2); //选中区域右下角横坐标
 //jQuery("#y2").val(c.y2); //选中区域右下角纵坐标
 jQuery('#w').val(c.w); //选中区域的宽度
 jQuery('#h').val(c.h); //选中区域的高度
};
function checkCoords()
{
 if (parseInt(jQuery('#w').val())>0) return true;
 alert('请选择需要裁切的图片区域.');
 return false;
};
</script>
</head>
<body>
<img id="imghead" border=0 src='./image/b4.jpg' />
<form action="crop.php" method="post" onsubmit="return checkCoords();">
 <input type="text" id="x" name="x" />
 <input type="text" id="y" name="y" />
 <input type="text" id="w" name="w" />
 <input type="text" id="h" name="h" />
 <input type="submit" value="提交">
</form>
</body>
</html>

第二部分:PHP处理部分crop.php:

<?php
if ($_SERVER['REQUEST_METHOD'] == 'POST')
{
 $targ_w = $targ_h = 150;
 $jpeg_quality = 90;
 $src = './image/b4.jpg';
 $img_r = imagecreatefromjpeg($src);
 $dst_r = ImageCreateTrueColor( $targ_w, $targ_h );
 imagecopyresampled($dst_r,$img_r,0,0,$_POST['x'],$_POST['y'],
 $targ_w,$targ_h,$_POST['w'],$_POST['h']);
 header('Content-type: image/jpeg');
 imagejpeg($dst_r,null,$jpeg_quality);
 exit;
}
?>

补充:jquery.Jcrop.min.js本站下载地址:https://3water.com/jiaoben/24768.html

PHP 相关文章推荐
如何对PHP程序中的常见漏洞进行攻击(上)
Oct 09 PHP
一个用mysql_odbc和php写的serach数据库程序
Oct 09 PHP
php zend解密软件绿色版测试可用
Apr 14 PHP
浅谈web上存漏洞及原理分析、防范方法(安全文件上存方法)
Jun 29 PHP
php使用unset()删除数组中某个单元(键)的方法
Feb 17 PHP
php语言中使用json的技巧及json的实现代码详解
Oct 27 PHP
简单理解PHP的面向对象编程方式
May 17 PHP
PHP与jquery实时显示网站在线人数实例详解
Dec 02 PHP
Zend Framework入门教程之Zend_Mail用法示例
Dec 08 PHP
Yii 2.0中场景的使用教程
Jun 02 PHP
PHP 文件锁与进程锁的使用示例
Aug 07 PHP
Laravel框架中自定义模板指令总结
Dec 17 PHP
PHP 5.3新增魔术方法__invoke概述
Jul 23 #PHP
php实现与erlang的二进制通讯实例解析
Jul 23 #PHP
PHP使用CURL实现对带有验证码的网站进行模拟登录的方法
Jul 23 #PHP
Yii使用CLinkPager分页实例详解
Jul 23 #PHP
ThinkPHP单字母函数(快捷方法)使用总结
Jul 23 #PHP
PHP中的use关键字概述
Jul 23 #PHP
ThinkPHP实现将SESSION存入MYSQL的方法
Jul 22 #PHP
You might like
如何在PHP中进行身份认证
2006/10/09 PHP
php下图片文字混合水印与缩略图实现代码
2009/12/11 PHP
Memcache 在PHP中的使用技巧
2010/02/08 PHP
关于PHP实现异步操作的研究
2013/02/03 PHP
CentOS6.5 编译安装lnmp环境
2014/12/21 PHP
PHP MYSQL实现登陆和模糊查询两大功能
2016/02/05 PHP
制作个性化的WordPress登陆界面的实例教程
2016/05/21 PHP
PHP读取CSV大文件导入数据库的实例
2017/07/24 PHP
效率高的Javscript字符串替换函数的benchmark
2008/08/02 Javascript
js中用window.open()打开多个窗口的name问题
2014/03/13 Javascript
jquery实现弹出层登录和全屏层注册特效
2015/08/28 Javascript
易被忽视的js事件问题总结
2016/05/14 Javascript
浅谈Javascript数据属性与访问器属性
2016/07/26 Javascript
JavaScrip数组删除特定元素的几种方法总结
2017/09/06 Javascript
JavaScript实现离开页面前提示功能【附jQuery实现方法】
2017/09/26 jQuery
ES6使用Set数据结构实现数组的交集、并集、差集功能示例
2017/10/31 Javascript
vue.js 使用axios实现下载功能的示例
2018/03/05 Javascript
在小程序中使用Echart图表的示例代码
2018/08/02 Javascript
element-ui使用导航栏跳转路由的用法详解
2018/08/22 Javascript
详释JavaScript执行环境与执行栈
2019/04/02 Javascript
微信小程序中target和currentTarget的区别小结
2020/11/06 Javascript
Vue组件生命周期运行原理解析
2020/11/25 Vue.js
Python解析xml中dom元素的方法
2015/03/12 Python
Python使用flask框架操作sqlite3的两种方式
2018/01/31 Python
python实现list由于numpy array的转换
2018/04/04 Python
Python读取实时数据流示例
2019/12/02 Python
tensorflow中tf.slice和tf.gather切片函数的使用
2020/01/19 Python
Python extract及contains方法代码实例
2020/09/11 Python
数据库测试通常都包括哪些方面
2015/11/30 面试题
后勤自我鉴定
2013/10/13 职场文书
高中生期末评语
2014/01/28 职场文书
2014年工作总结及2015工作计划
2014/12/12 职场文书
排球赛新闻稿
2015/07/17 职场文书
运动会广播稿200字
2015/08/19 职场文书
python神经网络 tf.name_scope 和 tf.variable_scope 的区别
2022/05/04 Python
JavaScript实现音乐播放器
2022/08/14 Javascript