插件 jQuery.cropbox 中文API文档

🌙
手机阅读
本文目录结构

插件 jQuery.cropbox 中文API文档 https://github.com/acornejo/jquery-cropbox

jquery-cropbox plugin.

jQuery plugin for in-place image cropping (zoom & pan, as opposed to select and drag).

This plugin depends only on jQuery. If either Hammer.js or jquery.hammer.js is loaded, the cropbox plugin will support gestures for panning and zooming the cropbox. Similary, if the jquery.mousewheel.js plugin is loaded, then the cropbox plugin will support zoom in & out using the mousewheel. All dependencies on third party libraries (other than jQuery) are strictly optional. Support for CommonJS and AMD loading is built in.

In browsers that support the HTML5 FIle API and Canvas API, the cropbox plugin provides mehtods to crop the image on the client and obtain the resulting cropped image as a Data URL or a binary blob to upload it to the server.

Check out the plugin in action here http://acornejo.github.io/jquery-cropbox/

History: This plugin started as a fork of jQcrop, and added touch support, mousewheel support and client resize support through the canvas api.

Install with Bower: bower install cropbox

Usage

	$('yourimage').cropbox({
	    width: 200,
		height: 200
	}, function() {
		//on load
		console.log('Url: ' + this.getDataURL());
	}).on('cropbox', function(e, data) {
        console.log('crop window: ' + data);
	});

Options

Option Type Default Required Description
width integer 200 no Width in pixels of the cropping window
height integer 200 no Height in pixels of the cropping window
zoom integer 10 no Number of incremental zoom steps. With the default of 10, you have to click the zoom-in button 9 times to reach 100%.
maxZoom number 1.0 no Maximum zoom value. With the default of 1.0 users can't zoom beyond the maximum image resolution.
controls string/jquery null no If not null, this is the entire html block that should appear on hover over the image for instructions and/or buttons (could include the zoom in/out buttons for example). If null, the default html block is used which has the text "Click to drag" and the zoom in/out buttons. Use false to disable controls.
result {cropX:number, cropY:number, cropW:number, cropH:number} null no Set the initial cropping area
showControls never, always, hover, auto auto no This flag is used to determine when to display the controls. Never, always and hover do exactly what you would expect (never show them, always show them, show them on hover). The auto flag is the same as the hover flag, except that on mobile devices it always shows the controls (since there is no hover event).

Methods

Name Parameters Description
zoomIn (none) Increase image zoom level by one step
zoomOut (none) Decrease image zoom level by one step
zoom percent Set zoom leevl to a value between 0 and 1. Need to call update to reflect the changes.
drag {startX: integer, startY: integer, dx: integer, dy: integer} Simulate image dragging, starting from (startX,startY) and moving a delta of (dx,dy). Need to call update to reflect the changes.
setCrop {cropX: number, cropY: number, cropW: number, cropH: number} Set crop window.
update (none) Update the cropped result (must call after zoom and drag).
getDataURL (none) Generate a URL for the cropped image on the client (requires HTML5 compliant browser).
getBlob (none) Generate a Blob with the cropped image (requires HTML5 compliant browser).
remove (none) Remove the cropbox functionality from the image.

Event

To get the crop results, bind a function on the cropbox event or read the object’s result property .

    $('yourimage').cropbox({width: 250, height: 250})
    .on('cropbox', function (e, result) {
        console.log(result);
    });

A reference to the cropbox object can be accessed like so:

	var crop = $('yourimage').data('cropbox');
	console.log(crop.result);

or inside the onload function:

	var crop = $('yourimage').cropbox({}, function() {
		console.log(this.result);
	});

You then have access to all the properties and methods used for that specific element.

Bug Reporting

Use the issues section to report any problems or questions regarding jquery-cropbox.

Please understand that I develop this plugin in my spare time, which is limited. To make the best use of my time, I ask that you submit a detailed bug report and include a jsfiddle that exhibits the problem, otherwise I won’t be able to offer much help.

A sample jsfiddle is provided here, fork it and create a minimal example that recreates the problem you are having and provide a link to it in the issue.

AXIHE / 精选资源

浏览全部教程

面试题

学习网站

前端培训
自己甄别

前端书籍

关于朱安邦

我叫 朱安邦,阿西河的站长,在杭州。

以前是一名平面设计师,后来开始接接触前端开发,主要研究前端技术中的JS方向。

业余时间我喜欢分享和交流自己的技术,欢迎大家关注我的 Bilibili

关注我: Github / 知乎

于2021年离开前端领域,目前重心放在研究区块链上面了

我叫朱安邦,阿西河的站长

目前在杭州从事区块链周边的开发工作,机械专业,以前从事平面设计工作。

2014年底脱产在老家自学6个月的前端技术,自学期间几乎从未出过家门,最终找到了满意的前端工作。更多>

于2021年离开前端领域,目前从事区块链方面工作了