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 相关文章推荐
showModelessDialog()使用详解
Sep 07 Javascript
JS 实现双色表格实现代码
Nov 24 Javascript
jquery实现隐藏与显示动画效果/输入框字符动态递减/导航按钮切换
Jul 01 Javascript
jQuery控制iFrame(实例代码)
Nov 19 Javascript
js时间比较 js计算时间差的简单实现方法
Aug 26 Javascript
js实现百度搜索提示框
Feb 05 Javascript
jQuery输入框密码的显示隐藏【代码分享】
Apr 29 jQuery
JavaScript中EventLoop介绍
Jan 22 Javascript
jQuery操作attr、prop、val()/text()/html()、class属性
May 23 jQuery
使用Vue调取接口,并渲染数据的示例代码
Oct 28 Javascript
JS实现星星海特效
Dec 24 Javascript
利用Vue的v-for和v-bind实现列表颜色切换
Jul 17 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
实现dedecms全站URL静态化改造的代码
2007/03/29 PHP
如何使用PHP计算上一个月的今天
2013/05/23 PHP
php获取远程图片体积大小的实例
2013/11/12 PHP
PHP实现将HTML5中Canvas图像保存到服务器的方法
2014/11/28 PHP
PHP中的use关键字及文件的加载详解
2016/11/28 PHP
JavaScript语法着色引擎(demo及打包文件下载)
2007/06/13 Javascript
菜鸟学习JavaScript小实验之函数引用
2010/11/17 Javascript
使用jquery.upload.js实现异步上传示例代码
2014/07/29 Javascript
一个仿微博登陆邮箱提示框js开发案例
2016/07/28 Javascript
用JS中split方法实现彩色文字背景效果实例
2016/08/24 Javascript
详解JavaScript树结构
2017/01/09 Javascript
JS跨域请求外部服务器的资源
2017/02/06 Javascript
详解如何使用微信小程序云函数发送短信验证码
2019/03/13 Javascript
17道题让你彻底理解JS中的类型转换
2019/08/08 Javascript
vue-froala-wysiwyg 富文本编辑器功能
2019/09/19 Javascript
基于Vue CSR的微前端实现方案实践
2020/05/27 Javascript
[46:58]完美世界DOTA2联赛PWL S3 Forest vs LBZS 第一场 12.17
2020/12/19 DOTA
python采用requests库模拟登录和抓取数据的简单示例
2014/07/05 Python
Python实现字符串格式化的方法小结
2017/02/20 Python
Python列表list内建函数用法实例分析【insert、remove、index、pop等】
2017/07/24 Python
Python实现购物车程序
2018/04/16 Python
python获取代理IP的实例分享
2018/05/07 Python
Django+Ajax+jQuery实现网页动态更新的实例
2018/05/28 Python
python hook监听事件详解
2018/10/25 Python
利用python、tensorflow、opencv、pyqt5实现人脸实时签到系统
2019/09/25 Python
python pyinstaller打包exe报错的解决方法
2019/11/02 Python
日本一家专门经营各种箱包的大型网站:Traveler Store
2016/08/03 全球购物
美国一家主营日韩美妆护肤品的在线商店:iMomoko
2016/09/11 全球购物
Ruby中的保护方法和私有方法与一般面向对象程序设计语言的一样吗
2013/05/01 面试题
幼儿教师师德演讲稿
2014/05/06 职场文书
小学网上祭英烈活动总结
2014/07/05 职场文书
党员创先争优心得体会
2014/09/11 职场文书
派出所正风肃纪剖析材料
2014/10/10 职场文书
2015年售票员工作总结
2015/04/29 职场文书
使用golang编写一个并发工作队列
2021/05/08 Golang
Redis Lua脚本实现ip限流示例
2022/07/15 Redis