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 相关文章推荐
Javascript代码混淆综合解决方案-Javascript在线混淆器
Dec 18 Javascript
javascript打开新窗口同时关闭旧窗口
Jan 16 Javascript
javascript 避免闭包引发的问题
Mar 17 Javascript
理解Javascript_15_作用域分配与变量访问规则,再送个闭包
Oct 20 Javascript
简述Jquery与DOM对象
Jul 10 Javascript
基于JavaScript实现文字超出部分隐藏
Feb 29 Javascript
巧用jQuery选择器提高写表单效率的方法
Aug 19 Javascript
原生JS实现-星级评分系统的简单实例
Aug 21 Javascript
Angular实现下载安装包的功能代码分享
Sep 05 Javascript
基于jquery.page.js实现分页效果
Jan 01 jQuery
vscode下vue项目中eslint的使用方法
Jan 13 Javascript
vue指令做滚动加载和监听等
May 26 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缓冲 output_buffering的使用详解
2013/06/13 PHP
php获取淘宝分类id示例
2014/01/16 PHP
php+ajax实时刷新简单实例
2015/02/25 PHP
php实现概率性随机抽奖代码
2016/01/02 PHP
PHP简单实现数字分页功能示例
2016/08/24 PHP
图片自动缩小的js代码,用以防止图片撑破页面
2007/03/12 Javascript
event.srcElement 用法笔记e.target
2009/12/18 Javascript
Javascript中正则表达式的全局匹配模式分析
2011/04/26 Javascript
JQuery制作的放大效果的popup对话框(未添加任何jquery plugin)分享
2013/04/28 Javascript
在子窗口中关闭父窗口的一句代码
2013/10/21 Javascript
javascript中的正则表达式使用详解
2015/08/30 Javascript
详解Javascript模板引擎mustache.js
2016/01/20 Javascript
node.js使用cluster实现多进程
2016/03/17 Javascript
JS中作用域和变量提升(hoisting)的深入理解
2016/10/31 Javascript
JavaScript队列、优先队列与循环队列
2016/11/14 Javascript
初识NodeJS服务端开发入门(Express+MySQL)
2017/04/07 NodeJs
angular4中*ngFor不能对返回来的对象进行循环的解决方法
2018/09/12 Javascript
vue+高德地图写地图选址组件的方法
2019/05/18 Javascript
vue中解决拖拽改变存在iframe的div大小时卡顿问题
2020/07/22 Javascript
JS页面动态绘图工具SVG,Canvas,VML介简介
2020/10/16 Javascript
python实现根据窗口标题调用窗口的方法
2015/03/13 Python
深入分析python中整型不会溢出问题
2018/06/18 Python
对python3 一组数值的归一化处理方法详解
2018/07/11 Python
Python 操作 ElasticSearch的完整代码
2019/08/04 Python
Django框架反向解析操作详解
2019/11/28 Python
Python实现区域填充的示例代码
2021/02/03 Python
Agoda.com官方网站:便宜预订全球酒店,高达80%的折扣
2018/04/04 全球购物
大唐电信科技股份有限公司java工程师面试经历
2016/12/09 面试题
什么是makefile? 如何编写makefile?
2013/01/02 面试题
合作意向书格式及范文
2014/03/31 职场文书
工会2014法制宣传日活动总结
2014/11/01 职场文书
团代会邀请函
2015/02/02 职场文书
2015年项目工作总结
2015/04/29 职场文书
美丽心灵观后感
2015/06/01 职场文书
写作指导:怎么书写竞聘演讲稿?
2019/07/04 职场文书
python实现简单倒计时功能
2021/04/21 Python