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 判断浏览器类型 去全角、半角空格 自动关闭当前窗口
Apr 10 Javascript
锋利的jQuery 要点归纳(二) jQuery中的DOM操作(下)
Mar 23 Javascript
js获取height和width的方法说明
Jan 06 Javascript
JS保存和删除cookie操作 判断cookie是否存在
Nov 13 Javascript
Javascript基础教程之argument 详解
Jan 18 Javascript
jQuery子元素过滤选择器用法示例
Sep 09 Javascript
ES5学习教程之Array对象
Apr 01 Javascript
jquery实现异步加载图片(懒加载图片一种方式)
Apr 24 jQuery
vue select组件的使用与禁用实现代码
Apr 10 Javascript
快速解决vue在ios端下点击响应延时的问题
Aug 27 Javascript
详解vue中使用vue-quill-editor富文本小结(图片上传)
Apr 24 Javascript
Vue.js数字输入框组件使用方法详解
Oct 19 Javascript
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 pki加密技术(openssl)详解
2013/07/01 PHP
PHP生成不重复随机数的方法汇总
2014/11/19 PHP
php实现专业获取网站SEO信息类实例
2015/04/02 PHP
PHP 7.4 新语法之箭头函数实例详解
2019/05/09 PHP
Laravel解决nesting level错误和隐藏index.php的问题
2019/10/12 PHP
js 新浪的一个图片播放图片轮换效果代码
2008/07/15 Javascript
理解 JavaScript 预解析
2009/10/25 Javascript
某页码显示的helper 少量调整,另附js版
2010/09/12 Javascript
jquery多选项卡效果实例代码(附效果图)
2013/03/23 Javascript
js实现获取焦点后光标在字符串后
2014/09/17 Javascript
javascript十六进制及二进制转化的方法
2015/05/06 Javascript
SWFObject基本用法实例分析
2015/07/20 Javascript
理解Javascript图片预加载
2016/02/23 Javascript
IE和Firefox之间在JavaScript语法上的差异
2016/04/22 Javascript
深入理解JavaScript内置函数
2016/06/03 Javascript
项目实践一图片上传之form表单还是base64前端图片压缩(前端图片压缩)
2016/07/28 Javascript
Node.js检测端口(port)是否被占用的简单示例
2016/09/29 Javascript
微信小程序网络请求封装示例
2018/07/24 Javascript
Layui点击图片弹框预览的实现方法
2019/09/16 Javascript
2019最新21个MySQL高频面试题介绍
2020/02/06 Javascript
js实现小球在页面规定的区域运动
2020/06/16 Javascript
vue-video-player实现实时视频播放方式(监控设备-rtmp流)
2020/08/10 Javascript
[02:48]DOTA2英雄基础教程 拉席克
2013/12/12 DOTA
Python随机生成数模块random使用实例
2015/04/13 Python
python操作ie登陆土豆网的方法
2015/05/09 Python
Python中atexit模块的基本使用示例
2015/07/08 Python
Python自动发送和收取邮件的方法
2020/08/12 Python
使用HTML5 IndexDB存储图像和文件的示例
2018/11/05 HTML / CSS
详解Canvas事件绑定
2018/06/27 HTML / CSS
采购部部门职责
2013/12/15 职场文书
小学体育教学反思
2014/01/31 职场文书
劳动之星获奖感言
2014/02/01 职场文书
2014年护士工作总结范文
2014/11/11 职场文书
劳动保障个人工作总结
2015/03/04 职场文书
《失物招领》教学反思
2016/02/20 职场文书
CSS文本阴影 text-shadow 悬停效果详解
2022/05/25 HTML / CSS