Giter Club home page Giter Club logo

vue-advanced-cropper's Introduction

Vue Advanced Cropper

The advanced library that gives you opportunity to create your own croppers suited for any website design

Documentation / Examples / Sandbox

NPM

WARNING: This library is in beta test stage. API can be changed in the future.

Install

npm install --save vue-advanced-cropper
yarn add vue-advanced-cropper

If you would to use CDN read the corresponding documentation section

Usage

import Vue from 'vue'
import { Cropper } from 'vue-advanced-cropper'

new Vue({
  el: '#app',
  data: {
    img: 'https://images.pexels.com/photos/226746/pexels-photo-226746.jpeg'
  },
  methods: {
    change({coordinates, canvas}) {
      console.log(coordinates, canvas)
    }
  },
  components: {
    Cropper
  }
})
<div id="app">
  <cropper
    classname="cropper"
    :src="img"
    :stencilProps="{
      aspectRatio: 10/12
    }"
    @change="change"
  ></cropper>
</div>
/*
  Maybe you need to set the limits for the cropper sizes or its container sizes
  otherwise a cropping image will try to fill all available space
*/
.cropper {
  height: 600px;
  background: #DDD;
}

Cropper

Prop Type Description Default
src String The cropping image (link / base64)
stencilComponent String, Object The stencil component RectangleStencil
stencilProps Object The props for the stencil component {}
classname String The optional classname for the root cropper block
imageClassname String The optional classname for the cropping image
areaClassname String The optional classname for the area.
backgroundClassname String The optional classname for the background under the image
debounce String, Number The time before change event will be emitted after changes (ms) 500
canvas Boolean The flag that indicates if canvas should be used true
minWidth String, Number The minimum width of the stencil (percents) 10
minHeight String, Number The minimum height of the stencil (percents) 10
maxWidth String, Number The maximum width of the stencil (percents) 10
maxHeight String, Number The maximum height of the stencil (percents) 10
checkOrientation Boolean Check if EXIF orientation should be checked true
touchMove Boolean Check if image should be dragged by a touch true
touchResize Boolean Check if image should be resized by a pinch gesture true
mouseMove Boolean Check if image should be dragged by a mouse true
wheelResize Boolean Check if image should be resized by a mouse wheel true
imageRestriction String Set restrictions for image position ('area', 'stencil', 'none') core.move
defaultSize Function The function that returns the default size of the stencil core.defaultSize
defaultPosition Function The function that returns the default position of the stencil core.defaultPosition
restrictions Function The function that returns the restrictions object core.percentRestrictions
areaSize Function The function that determines the area size core.areaSize
resizeAlgorithm Function The function that determines the resize algorithm core.resize
moveAlgorithm Function The function that determines the move algorithm core.move
Event Description
change Invoked on changing of a stencil position / size, after mounting the component and on an image changing
ready Invoked on completing of the image loading

RectangleStencil

Prop Type Description Default
aspectRatio Number, String, The aspect ratio
minAspectRatio Number, String, The minimum aspect ratio
maxAspectRatio Number, String, The maximum aspect ratio
classname String, The classname for root block of the stencil component
previewClassname String, The classname for the preview component
boundingBoxClassname String, The classname for the bouding box component
handlerComponent String,Object The handler component
handlers Object, The object of handlers that should be visible or hidden.
handlersClassnames Object, The object of custom handler classnames
lineComponent String,Object The handler component
lines Object, The object of lines that should be visible or hidden.
linesClassnames Object, The object of custom line classnames

License

The source code of this library is licensed under MIT, the documentation and photos are belong to their respective owners.

vue-advanced-cropper's People

Contributors

norserium avatar mattrmurphy avatar totakoko avatar

Watchers

James Cloos 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.