`
fuhao200866
  • 浏览: 79014 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

一枚基于jQuery的头像截取插件imgareaselect

阅读更多

在诸多sns网站中都用到了头像截取功能,最近在做一个类SNS社区项目的时候,正好需要用到这个功能,自己写一个纯javascript的吧,很麻烦(主要是自己javascript很菜),于是在众多jQuery插件中挑选了这枚imgareaselect,使用起来还是很方便的,在截取完成后返回四角坐标和高宽交给后台开发人员就可以了。
先把这枚imgareaselect插件从官网下载http://odyniec.net/projects/imgareaselect/jquery.imgareaselect-0.9.3.zip
完成后载入文件,注意css文件、图片、js文件的层级关系,当然你也可以自己修改路径。

<link rel="stylesheet" type="text/css" href="css/imgareaselect-default.css" />
<script type="text/javascript" src="scripts/jquery.min.js"></script>
<script type="text/javascript" src="scripts/jquery.imgareaselect.pack.js"></script>


看下简单的html代码:

<div class="" style="width:700px">
<img src="flower2.jpg" id="photo"/>
    <div id="preview" style="width: 100px; height: 100px; overflow: hidden; float:right">
            <img src="flower2.jpg" style="width: 100px; height: 100px;">
    </div>
<form>
      <fieldset>
      	<legend>头像截取返回的一些值</legend>
        x1:<input type="text" id="x1" value="-"><br />
        y1:<input type="text" id="y1" value="-"><br />
        x2:<input type="text" id="x2" value="-"><br />
        y2:<input type="text" id="y2" value="-"><br />
        高:<input type="text" value="-" id="h"><br />
        宽:<input type="text" value="-" id="w">
      </fieldset>
</form>
</div>


自定义一个函数preview,方便返回坐标及宽高值。代码如下:

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

    $('#preview img').css({
        width: Math.round(scaleX * 300),
        height: Math.round(scaleY * 300),
        marginLeft: -Math.round(scaleX * selection.x1),
        marginTop: -Math.round(scaleY * selection.y1)
    });

    $('#x1').val(selection.x1);
    $('#y1').val(selection.y1);
    $('#x2').val(selection.x2);
    $('#y2').val(selection.y2);
    $('#w').val(selection.width);
    $('#h').val(selection.height);    
}


调用imgAreaSelect方法来激活选中区域:

$(function(){
	$('#photo').imgAreaSelect({ 
		aspectRatio: '1:1',  //设置缩放比例
		handles: true,  //显示手型
		fadeSpeed: 200,
		onSelectChange: preview  //选区改变后返回函数
	});
})


附上imgAreaSelect 法的参数列表:

参数 描述
aspectRatio 设定选取区域的显示比率,如:”4:3″
autoHide 如果设置为true,当选择区域选择结束时消失,默认值为:false
classPrefix 这是一个字符串,表示插件样式的类名加前缀,默认值为”imgareaselect”
disable 如果设置为true,禁用插件
enable 如果设置为true,插件被重新启用
fadeSpeed 如果设置为大于零的数字,则用优美的淡入/淡出动画来显示图片,默认值为 false
handles 如果设置为true,调整手柄则会显示在选择区域内,如果设置为”corners”,则只有角处理会显示调整手柄,默认值为false
hide 如果设置为true,选择范围是隐藏
imageHeight 图片的真实高度 (if scaled with the CSS width and height properties)
imageWidth 真实图片宽度 (if scaled with the CSS width and height properties)
instance 如果设置为true,imgAreaSelect() 调用返回一个imgAreaSelect绑定到的图像的实例,使您可以使用它的API方法
keys 启用/禁用键盘支持,默认值为false
maxHeight 选取的最大高度(单位为像素)
maxWidth 选取的最大宽度(单位为像素)
minHeight 选取的最小高度(单位为像素)
minWidth 选取的最小宽度(单位为像素)
movable 确定选取是否可以移动,默认值为true
parent 一个jQuery对象或选择字符串,指定被追加到父元素,默认值为”body”
persistent 如果设置为true,选择区以外的点击将不会启动一个新的选区(即用户将只能移动/调整现有的选择范围),默认值为false
resizable 确定是否选择面积应可调整大小,默认值为true
show 如果设置为true,选区则会显示
x1
y1
最初选择区域的左上角坐标
x2
y2
最初选择区域的右上角坐标
zIndex 插件元素的z-index值,正常情况下imgAreaSelect会自动分配,但有少数情况,有必要将其设置为制定值
onInit 插件初始化时的回调函数
onSelectStart 插件开始选择时的回调函数
onSelectChange 插件改变选区时的回调函数
onSelectEnd 插件结束选区时的回调函数

3
5
分享到:
评论
3 楼 128340haha 2013-07-08  
这里只是一个前台的 图片裁剪与预览~!
要截图的成品 用得到的参数去程序端处理~!
还有就是模板是以300*300的图片来处理的~!
如果是其他规格的图片,更改 
$('#preview img').css({ 
        width: Math.round(scaleX * 300), 
        height: Math.round(scaleY * 300), 

    }); 
这2个300为图片实际大小~!

感谢博主的分享,很好用~!
2 楼 Shmily奕蝶 2012-02-20  
指教一下,我按你说的弄了,可怎么还是截不了图啊,这是哪里的原因呢??
1 楼 snake13456 2011-09-05  
小图的定位不够准确,要自行修改一下

相关推荐

    jquery图片裁剪插件imgareaselect

    imgareaselect是一款基于jQuery的开源图片裁剪工具,它允许用户通过鼠标在图片上自由划定选区,从而实现对图片的裁剪操作。该插件支持自定义样式,可适应各种UI设计需求,且兼容多种浏览器,包括IE6及以上版本。 二...

    基于jquery网页截图插件(imgareaselect)

    【基于jQuery网页截图插件(imgareaselect)】是一个用于网页截取图像选定区域的JavaScript库,它与jQuery框架紧密集成,为用户提供了一个简单易用的交互式选择工具。这个插件允许用户在网页上自由划定一个矩形区域...

    jquery的imgareaselect截图插件

    imgAreaSelect是基于jQuery的一个强大的图片区域选择插件,它允许用户通过鼠标拖动来选择图片上的任意矩形区域,同时提供丰富的自定义选项以适应各种设计需求。这个插件广泛应用于图片编辑、截图分享、图片裁剪等...

    jQuery插件imgAreaSelect 实例代码

    `imgAreaSelect`是一个基于jQuery的插件,它提供了在网页上选择图片区域的功能,常用于图片裁剪或选取特定部分。这个插件易于集成,灵活性高,且适用于各种项目,特别是那些需要用户自定义图片裁剪范围的应用。 ###...

    JQuery插件imgAreaSelect_Demo

    `imgAreaSelect`是一个非常实用的jQuery插件,它能够帮助开发者轻松地在网页上创建可自定义样式的图片选区。本篇文章将深入探讨`imgAreaSelect`插件的使用方法、核心功能以及如何在实际项目中应用。 1. **安装与...

    jquery的imgareaselect插件

    imgAreaSelect是基于jQuery的一款开源插件,主要功能是在图片上创建可拖动的选区,用户可以通过选区来定义需要裁剪的部分。它支持各种浏览器,并且可以自定义样式,以适应不同的网站设计需求。 **二、安装与引入** ...

    jQuery插件ImgAreaSelect实现头像上传预览和裁剪功能实例讲解一

    jQuery插件ImgAreaSelect是一个能够为图片添加可拖拽的裁剪框的插件,适合于在网页上实现图片上传预览和裁剪功能。为了实现头像上传、预览以及裁剪功能,我们需要遵循以下步骤: 首先,要明确目标功能: 1. 图片...

    利用jquery的imgAreaSelect插件实现图片裁剪示例

    jQuery作为一款强大的JavaScript库,提供了丰富的插件来扩展其功能,其中包括imgAreaSelect插件,它能帮助开发者轻松实现图片裁剪功能。本篇文章将详细探讨如何利用jQuery的imgAreaSelect插件来实现这一功能。 首先...

    javascript截图-jQuery插件imgAreaSelect使用详解.doc

    javascript截图-jQuery插件imgAreaSelect使用详解.doc

    jquery.imgareaselect-0.9.2几种封装

    jQuery.imgAreaSelect是一款非常实用的jQuery插件,用于实现图像区域选择的功能,它允许用户在图像上划定一个矩形区域,以便进行裁剪或其他操作。本文将深入解析jQuery.imgAreaSelect-0.9.2版本的封装方法和使用技巧...

    jquery.imgareaselect-0.9.10插件下载

    jquery.imgareaselect-0.9.10图片裁切插件下载,可把上传的图片进行裁剪再保存,在以前来说非常棘手的问题,现在借助jquery的imgareaselect插件再配合PHP的GD库就可以轻松的实现图片裁切功能。注,本插件包内不包括...

    jquery图片截取DEMO

    2. **imgAreaSelect插件**:在"压缩包子文件的文件名称列表"中提到的`imgareaselect`,是一个jQuery插件,专门用于在图片上创建可选区域。它提供了丰富的配置选项和API,使得在网页上实现图片截取变得非常容易。 3....

    javascript截图 jQuery插件imgAreaSelect用法详解_.docx

    本文将详细介绍如何使用jQuery插件`imgAreaSelect`来实现这一功能。 #### 二、准备工作 实现JavaScript截图功能前,需要准备以下两个JavaScript文件: 1. **`jquery.js`** - 这是jQuery库的基础文件,用于提供...

    jQuery插件imgAreaSelect基础讲解

    imgAreaSelect是一个基于jQuery的插件,它的主要功能是让用户通过鼠标拖曳来选择图片中的任意部分,适用于图片裁剪、拖曳和编辑等场景。这个插件提供了丰富的自定义选项,使得开发者可以根据实际需求进行定制。 ...

    imgAreaSelect 基于jQuery的图片切割放大插件 0.94.zip

    imgAreaSelect是一款基于jQuery的图片裁剪和放大插件,主要应用于网页开发中,用于实现用户自定义选择图片区域的功能。这款插件版本为0.94,它提供了丰富的交互和定制选项,使得开发者能够轻松地集成到自己的项目中...

    jquery imgareaselect截图

    jquery imgareaselect截图jquery imgareaselect截图jquery imgareaselect截图jquery imgareaselect截图jquery imgareaselect截图jquery imgareaselect截图

    jQuery+ajaxupload+imgareaselect+asp.net上传预览截取图像

    在IT行业中,前端开发经常需要处理用户上传图片的需求,而"jQuery+ajaxupload+imgareaselect+asp.net上传预览截取图像"这个主题,就是一种高效且用户体验优秀的解决方案。接下来,我们将深入探讨这些技术及其整合...

    jQuery常用插件大全pdf

    **知识点**: 基于jQuery的Autocomplete插件,支持Ajax数据读取和本地数据获取,配置简单,使用灵活。 #### 7. jQueryTagSuggestion **知识点**: 提供类似del.icio.us的tag建议功能,帮助用户快速添加标签,增强内容...

    jquery_imgareaselect图片裁切插件使用的中文文档

    `jQuery_imgareaselect` 是一个用于图片裁剪的JavaScript插件,它允许用户通过鼠标在图片上选择一个矩形区域,然后可以基于这个选择进行裁剪操作。这个插件适用于网页开发,尤其是在需要用户上传图片并进行预览裁剪...

Global site tag (gtag.js) - Google Analytics