javascript截图 jQuery插件imgAreaSelect使用详解


Posted in Javascript onMay 04, 2016

为了使用户能自定义个人头像,需要提供一个对上传图片的截图功能,当前很多网站特别是SNS类网站都提供这样的功能,非常实用。主要实现的形式有两种,一种是flash截图,另一种就是javascript截图,两种方法各有秋千,关于Flash截图可以参考一下UcHome程序中头像上传功能,但这不是我要讨论的话题,我这里主要是如何实现javascript截图,利用jQuery的imgAreaSelect插件,轻松实现自定义头像[avatar]javascript截图功能。

一,准备:
两个JS文件
1,jquery.js 下载:jquery.js
2,jquery.imgareaselect.js 下载:jquery.imgareaselect.js[imgareaselect-0.6.2.zip]

二,使用

function preview(img, selection){ 
var scaleX = 100 / selection.width; 
var scaleY = 100 / selection.height;

//动态小头像 获取当前选中框的宽度,高度,左边框,右边框

$('#biuuu + div > img').css({ 
width: Math.round(scaleX * 400) + 'px', 
height: Math.round(scaleY * 300) + 'px', 
marginLeft: '-' + Math.round(scaleX * selection.x1) + 'px', 
marginTop: '-' + Math.round(scaleY * selection.y1) + 'px' 
}); 
}


//加载小头像

$(document).ready(function () { 
$('<div><img src="biuuu.jpg" style="position: relative;" /></div>') 
.css({ 
float: 'left', 
position: 'relative', 
overflow: 'hidden', 
width: '100px', 
height: '100px' 
}) 
.insertAfter($('#biuuu')); 
});

//初始化加载

$(window).load(function () { 
$('#biuuu').imgAreaSelect({ aspectRatio: '1:1', onSelectChange: preview }); 
});

三,调用

<div class="container"> 
<p> 
<img id="biuuu" src="biuuu.jpg" title="biuuu" style="float: left; margin-right: 10px;" /> 
</p> 
</div>

使用上面的javascript截图进行扩展可以实现很多的动态功能,jQuery提供的imgAreaSelect插件调用非常简单,其它相关应用可参考:imgAreaSelect Examples

使用jQuery插件imgAreaSelect实现javascript截图还是非常简单的,基本上就是一个动态的图像显示,获取源图片的位置和选取框的大小[宽度和高度],轻松实现javascript截图功能。

Javascript 相关文章推荐
JS 无法通过W3C验证的处理方法
Mar 09 Javascript
TinyMCE 新增本地图片上传功能
Nov 05 Javascript
jquery实现点击TreeView文本父节点展开/折叠子节点
Jan 10 Javascript
使用JS或jQuery模拟鼠标点击a标签事件代码
Mar 10 Javascript
js实现网页抽奖实例
Aug 05 Javascript
基于javascript实现的快速排序
Dec 02 Javascript
js面向对象编程总结
Feb 16 Javascript
微信小程序实现图片上传、删除和预览功能的方法
Dec 18 Javascript
探秘vue-rx 2.0(推荐)
Sep 21 Javascript
JavaScript的Proxy可以做哪些有意思的事儿
Jun 15 Javascript
解决layui表格内文本超出隐藏的问题
Sep 12 Javascript
vue-cli 3如何使用vue-bootstrap-datetimepicker日期插件
Feb 20 Vue.js
js编写当天简单日历效果【实现代码】
May 03 #Javascript
javascript实现下雪效果【实例代码】
May 03 #Javascript
vueJS简单的点击显示与隐藏的效果【实现代码】
May 03 #Javascript
javascript的列表切换【实现代码】
May 03 #Javascript
jQuery中队列queue()函数的实例教程
May 03 #Javascript
JavaScript中split与join函数的进阶使用技巧
May 03 #Javascript
总结JavaScript三种数据存储方式之间的区别
May 03 #Javascript
You might like
十天学会php(1)
2006/10/09 PHP
创建配置文件 用PHP写出自己的BLOG系统 2
2010/04/12 PHP
CI框架源码阅读,系统常量文件constants.php的配置
2013/02/28 PHP
完整删除ecshop中获取店铺信息的API
2014/12/24 PHP
浅谈PHP中new self()和new static()的区别
2017/08/11 PHP
PHP使用OB缓存实现静态化功能示例
2019/03/23 PHP
PHP 使用位运算实现四则运算的代码
2021/03/09 PHP
ext for eclipse插件安装方法
2008/04/27 Javascript
JS随即打乱数组实现代码
2012/12/03 Javascript
js 时间格式与时间戳的相互转换示例代码
2013/12/25 Javascript
javascript作用域和闭包使用详解
2014/04/25 Javascript
node.js中的Socket.IO使用实例
2014/11/04 Javascript
jQuery循环动画与获取组件尺寸的方法
2015/02/02 Javascript
解决Jquery向页面append新元素之后事件的绑定问题
2015/03/16 Javascript
jQuery往返城市和日期查询实例讲解
2015/10/09 Javascript
Bootstrap每天必学之表单
2015/11/23 Javascript
基于js实现checkbox批量选中操作
2016/11/22 Javascript
jQuery实现简易的输入框字数计数功能示例
2017/01/16 Javascript
jquery实现焦点轮播效果
2017/02/23 Javascript
Angularjs 双向绑定时字符串的转换成数字类型的问题
2017/06/12 Javascript
JavaScript设计模式之职责链模式应用示例
2018/08/07 Javascript
nodejs 使用 js 模块的方法实例详解
2018/12/04 NodeJs
flask + pymysql操作Mysql数据库的实例
2017/11/13 Python
Python subprocess模块功能与常见用法实例详解
2018/06/28 Python
python递归法解决棋盘分割问题
2019/07/17 Python
Python使用Beautiful Soup爬取豆瓣音乐排行榜过程解析
2019/08/15 Python
pytorch 求网络模型参数实例
2019/12/30 Python
关于keras.layers.Conv1D的kernel_size参数使用介绍
2020/05/22 Python
基于Canvas+Vue的弹幕组件的实现
2019/07/23 HTML / CSS
违反校纪校规检讨书
2014/02/15 职场文书
团结就是力量演讲稿
2014/05/21 职场文书
大三学年自我鉴定范文(3篇)
2014/09/28 职场文书
故意杀人罪辩护词
2015/05/21 职场文书
高中生物教学反思
2016/02/20 职场文书
2019朋友新婚祝福语精选
2019/10/10 职场文书
教你用python实现12306余票查询
2021/06/30 Python