Giter Site home page Giter Site logo

cropper's Introduction

A jQuery image cropping plugin.

Getting started

Quick start

Four quick start options are available:

  • Download the latest release.
  • Clone the repository: git clone https://github.com/fengyuanchen/cropper.git.
  • Install with NPM: npm install cropper.
  • Install with Bower: bower install cropper.

Installation

Include files:

<script src="/path/to/jquery.js"></script><!-- jQuery is required -->
<link  href="/path/to/cropper.css" rel="stylesheet">
<script src="/path/to/cropper.js"></script>

Usage

Initialize with $.fn.cropper method.

<img class="cropper" src="picture.jpg">
$(".cropper").cropper({
    aspectRatio: 16/9,
    modal: false,
    preview: ".extra-preview",
    done: function(data) {
        console.log(data);
    }
});

Configure

Setup

Setup with $("#target").cropper(options), or global setup with $.fn.cropper.setDefaults(options).

Options

aspectRatio

  • type: string or number
  • default: "auto"

The aspect ratio of the cropping zone. e.g., "2", "1.3", "0.5", etc.. Just set it with "auto" to free ratio.

data

  • type: object
  • default: {}
  • example:
{
    x1: 100,
    y1: 50,
    width: 480,
    height: 270,
    x2: 580, // optional (x2 = x1 + width)
    y2: 370 // optional (y2 = y1 + height)
}

If you already have a cropped zone data of the image, and you want to re-render it, just set this option.

Tips: It's possible to save the data in cookie or other where when a page is unload(abort), and then when the page is reload, get the data and re-render it.

done

  • type: function
  • default:
function(data) {}

The function will be passed a object data and run when the cropping zone was moving.

modal

  • type: boolean
  • default: true

Show (true) or hide (false) the black modal layer.

preview

  • type: string
  • default: ""

A jquery selector string, add extra elements to show preview.

Methods

enable

  • Enable the cropper.
  • use with $("#target").cropper("enable").

disable

  • Disable the cropper.
  • use with $("#target").cropper("disable").

getData

  • Get the current cropped zone data.
  • Use with $("#target").cropper("getData").

setData

  • Reset the cropping zone.
  • Param: A object contains "x1", "y1", "width", "height", "x2"(optional), "y2"(optional).
  • Use with $("#target").cropper("setData", {width: 480, height: 270}).

setAspectRatio

  • Enable to reset the aspect ratio after initialization.
  • Param: a positive number.
  • Use with $("#target").cropper("setAspectRatio", 1.618).

getImgInfo

  • Get the image information, contains: "naturalWidth", "naturalHeight", "width", "height", "aspectRatio", "ratio".
  • The "aspectRatio" is the value of "naturalWidth / naturalHeight".
  • The "ratio" is the value of "width / naturalWidth".
  • Use with $("#target").cropper("getImgInfo").

Browser Support

  • IE 8+
  • Chrome 33+
  • Firefox 27+
  • Safari 5.1+
  • Opera 19+

As a jQuery plugin, you can reference the jQuery Browser Support.

Released under the MIT license.

cropper's People

Contributors

pointful-mikkel avatar ext avatar

Watchers

James Cloos avatar Devon Auerswald avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.