手机版

jQuery插件imgAreaSelect的基本说明

时间:2021-09-04 来源:互联网 编辑:宝哥软件园 浏览:

关于ImgAreaSelect,它是一个jQuery插件,支持用户通过鼠标拖动选择图片的某一部分,如图片拖动、图片编辑等。~ ~来看一看

1.下载imgAreaSelect首先选择插件

下载地址:

中文:http://odyniec.net/projects/imgareaselect/

英文:http://www . CSS 88.com/easy tools/JAVAScript/jqueryplugin/imgareserve/index . html

在标题引用中:

link rel='样式表' type='text/css' href='./jquery . imgareselect-0 . 9 . 10/CSS/imgareselect-default . CSS ' rel=' external no follow '/Brscript type=' text/JavaScript ' src=' http :/jquery . imgareservice-0 . 9 . 10/scripts/jquery . imgareservice . pack . js '/script 2,下载的插件中有三个样式表

这是默认的样式表。

imgareselect-animated . CSS-此样式与默认样式表基本相同,只是它可以更改选择区域的边框

imgareselect-弃用. CSS-仅当您想使用不赞成的选项时才使用此样式表。

您只需要在html标题中添加一个样式表。这个css文件夹还包含四个gif图片,用于显示边框。

3.元素的分布如图所示

该插件通过创建几个div元素来表示选择区域,包括边框、可调手柄和未选择的区域。这些元素已经被分配了特定的类名,因此您可以通过CSS或jQuery选择器来获取和操作它们。

前缀“imgareaselect”是默认前缀,可以通过“classPrefix”选项进行修改。当有许多选择框需要单独操作(如更改样式)时,这尤其有用。

4.选择

用户可以自定义这个插件的许多方面。用户可以通过插件选项来实现这个目标(这些选项将在插件初始化时生效)。这些选项包括:

选项

描述

aspectRatio

长宽比,以后在选择时候就会维持不变。

例如“4:3"

autoHide

如果设置为true,该区域将在选择后消失。

Default:false

classPrefix

提前给插件元素加前缀(见下文:5。元素和类)

Default:imgareaselect

disable

如果设置为true,该插件将不起作用(但图像仍然可见)

enable

如果设置为true,插件将再次工作

fadeSpeed

如果设置为大于零的数字,插件将“褪色/褪色”

默认值:默认值

handles

如果设置为true,则在更改尺寸时会显示更改框(也就是说,角有点“矩形”)

Default:false

hide

如果设置为真,选择框将被隐藏

imageHeight

图像的真实高度(因为它可能已被CSS缩放)

imageWidth

图像的真实宽度(因为它可能已被CSS打开)

instance

如果设置为true,imgAreaSelect()函数将返回对所选区域图像的引用,以便进一步使用该API。(见8。API方法获取详细信息)

keys

启用/禁用键盘支持(详情参见7,键盘支持)

Default:false

maxHeight

限制选择框(以像素为单位),并设置最大和最小高度和宽度。

maxWidth

minHeight

minWidth

movable

设置是否支持选择框移动

Default:true

parent

指定默认情况下此插件附加到的父元素

Default:body

persistent

如果设置为true,在选择区域外单击将启动一个新选项(换句话说,用户是否只能移动/缩放选择区域)

Default:false

remove

如果设置为true,插件将被完全删除

resizable

决定是否可以调整选定区域的大小

Default:true

resizeMargin

当选定区域的宽度超过多少像素时,将启用“可调整大小”模式

show

如果设置为真,选择区域将可见

x1

y1

初始化期间选择框左上角的坐标

x2

y2

初始化期间选择框右下角的坐标

zIndex

设置此插件作用的元素的z索引值。一般来说,imgAreaSelect总是可以自动计算其值,但在极少数情况下需要设置。

onInit

插件初始化时调用的函数(详见6,回调函数)

onSelectStart

开始选择时调用的函数(详见6,回调函数)

onSelectChange

改变选择区域时调用的函数(详见6,回调函数)

onSelectEnd

选择结束时调用的函数(详见6,回调函数)

5.回调函数

回调函数(当设置了init、onselectstart、on select change或onSelectEnd选项时)接收两个参数,第一个选项是对此插件应用的图像的引用,另一个选项是呈现当前选定的对象,该对象有六个属性。

为了便于理解,下面是选择后执行回调函数的一个例子:

$('img#photo ')。imgareselect({ onselectend : function(img,selection){ alert(' width : ' selection . width ');height : ' selection . height);}});6.键盘支持

如果选项“键”设置为真,那么我们可以通过按键盘上的键来选择框的移动。可以使用以下按键,默认功能如下:

每个属性通过设置一个数值(以像素为单位,该数值不应小于1)或将其值指定为“字符串”以指定其处于“调整大小”模式来指示按下该键时要移动/改变多少像素。例如:

$(“img #示例”)。imgareselect({ key : { arrow s : 15,ctrl: 5,shift : ' resize ' } });在本例中,它被设置为“箭头键将选择移动15个像素,按住Ctrl键将移动5个像素,按住Shift键将切换到调整大小模式”。

如果有多个图像,并且您自己修改了密钥设置,则此自定义设置将仅应用于一个图像。一般来说,当图像被“激活”(用鼠标点击)时,图像将使用自定义按钮设置。

7.API方法

该插件还提供了多种API方法来扩展其应用,并可以通过这些API方法与其他web应用结合。

要使用这些方法,首先需要一个插件对象,可以通过调用imgAreaSelect()函数并将其选项“instance”设置为true来实现:

var ias=$('#photo ')。imgareselect({ instance : true });现在,您可以使用此对象调用公共方法。例如,设置默认的预定义范围:

ias.setSelection(50,50,150,200,true);IAS . SetOptions({ show : true });IAS . update();只要初始化完成,就可以使用这些API方法。原料药的方法如下:

第二,简单的例子

1、宽度或高度限制

最小宽度、最小八边形、最大宽度和最大高度选项允许您设置选择范围。在本例中,图像的最大范围将被限制为200x150px。

$(文档)。ready(function(){ $(' # lady bug _ ant ')。imgareselect({ maxwidth : 200,maxHeight: 150,handles 3360 true });});2.固定纵横比

只需配置aspectRatio选项,并在此将其设置为“4: 3”:

$(文档)。ready(function () {$('#bee '))。imgaraeselect({ aspelectricity : ' 4:3 ',handles 3360 true });});3.设置初始选项区域

您可以配置x1、y1、x2和y2选项:

$(文档)。ready(function () {$('#duck '))。imgareselect({ x 1: 120,y1: 90,x2: 280,y 2: 210 });});三、回调函数示例

1.预览所选内容

在下面的代码片段中,onSelectChange()回调函数实现了对所选区域的预览。

官方源代码:http://odyniec.net/projects/imgareselect/examples-callback.html

函数预览(img,selection){ var scaleX=100/(selection . width | | 1);var Scaley=100/(selection . height | | 1);$('#ferret div img ')。CSS({ width : math . round(scaleX * 400)' px ',height : math . round(scaleY * 300)' px ',margin left : '-' math . round(scaleX * selection . x1)' px ',marginto p : '-' math . round(scaleY * selection . y1)' px ' });}//在这里,插入同样的图片$(文档)。ready(function(){ $(' div img src=' http : ferret . jpg ' style=' position : relative;/div ')。css({float: '左',position: '相对',overflow: '隐藏',width: '100px ',height: '100px'})。insert after($(' # ferret '));$('#ferret ')。imgaraeselection({ aspelectricity : ' 1:1 ',on selectchange : preview });});因为预览窗口是100x100px,当截图窗口小于100px时,预览图像会放大;当截图窗口大于100px时,预览图像会缩小。这两个渲染如下:

截图1当截图窗口大于100px时,

截图2当截图窗口小于100px时,

需要注意的是,这里使用了一种技巧来产生这种效果。最关键的是等比例。它需要两张图片,第一张是原图,第二张是选择区域后显示的图片。第二张图片是通过css控制第一张图片上的选择坐标生成的。其实两张图是一样的,只是第二张图的显示面积和比例是用css控制的。证据如下:

[证据1]在$(文档)中插入一张也是“ferret.jpg”的“src”图片。ready()函数通过insertAfter。再次注意,这一段的“overflow :‘hidden’”一行是为了隐藏100px以上高、宽图片的额外内容。

[证据2]在preview()函数中,首先定义了scaleX和scaleY,它们的内容为100/selection.width(或height),即当selection.width小于100时,这个因子起到放大的作用,反之亦然。

值得注意的是:

回调函数中实际图形的宽度和高度(这里,300,400是实际图形的高度,要根据实际情况调整!),回调函数中新图形的宽度和高度必须设置正确,否则会出现选择偏差

2.提交选区的坐标

如果需要实现真正的截图功能,就必须使用服务器端的支持,比如php asp aspx jsp。也就是说,在客户端上选择只是第一步。如果需要进一步处理,必须将此选定区域的坐标提交给服务器。那么如何实现呢?

创建包含四个隐藏字段的表彰:

表单操作='crop.php '方法='post '输入类型='hidden '名称='x1 '值='' /输入类型='hidden '名称='y1 '值='' /input type='hidden '名称=' x2 '值=''/InputType=' hidden '名称=' y2 '值=''/InputType=' submit '名称=' submit '值=' submit'/表单然后在初始化imgAreaSelect时,使用onSelectEnd()回调函数

$(文档)。ready(function(){ $(' #瓢虫')。imgareselect({ onselectend : function(img,selection) {$('input[name='x1']')。val(selection . x1);$('input[name='y1']')。val(selection . y1);$('input[name='x2']')。val(selection . x2);$('input[name='y2']')。val(selection . y2);}});});这样,当您单击“提交”按钮时,页面将被上传到服务器。如果使用PHP,可以通过使用$_POST['x1']得到相应的坐标数据。

以上是边肖介绍的jQuery插件imgAreaSelect的基本说明。希望对大家有帮助。如果你有任何问题,请给我留言,边肖会及时回复你。非常感谢您对我们网站的支持!

版权声明:jQuery插件imgAreaSelect的基本说明是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。