imgAreaSelect 中文文档帮助说明

2020-05-23 06:08:16易采站长站整理


});


3、设置初始选项区域

配置x1, y1, x2与 y2选项就可以了:


$(document).ready(function () {


$(‘#duck’).imgAreaSelect({ x1: 120, y1: 90, x2: 280, y2: 210 });


});


三、回调函数示例
1、选区预览

在下面的代码小片断里,onSelectChange()回调函数实现了选择区域预览的效果。


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


function preview(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’,


marginLeft: ‘-‘ + Math.round(scaleX * selection.x1) + ‘px’,


marginTop: ‘-‘ + Math.round(scaleY * selection.y1) + ‘px’


});


}


 


//这里通过jQuery语法在原来图片后插入同样的图片


$(document).ready(function () {


$(‘<div><img src=”ferret.jpg” style=”position: relative;” /><div>’)


.css({


float: ‘left’,


position: ‘relative’,


overflow: ‘hidden’,


width: ‘100px’,


height: ‘100px’


})


.insertAfter($(‘#ferret’));


 


$(‘#ferret’).imgAreaSelect({ aspectRatio: ‘1:1’, onSelectChange: preview });


});


由于预览窗口是100x100px的,因此当截图窗口小于100px时,预览图会放大;当截图窗口大于100px时,预览图会缩小。这两种效果图如下:



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



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


需要说明的是,这里制作这种效果使用了一种技巧。最关键的一个是等比率缩放.它需要两个图片,第一图是原图,第二个图是选择区域后显示的图,用第一个图上的选择坐标+css控制产生第二个图,实际上两个图是一样的,只不过通过css控制了第二张图的显示区域与缩放比率。证据如下:


【证据一】在$(document).ready()函数中通过insertAfter插入”src”也是”ferret.jpg”的图片。再注意一下,这一段里的”overflow: ‘hidden’,”这一行代码就是让超过100px高宽的图片额外内容隐藏掉。