1.0.1 • Published 4 years ago

vue-avatar-editor-improved-updated v1.0.1

Weekly downloads
2
License
MIT
Repository
-
Last release
4 years ago

vue-avatar-editor

Facebook like, avatar / profile picture component. This is Vue.js clone of mosch/react-avatar-editor

Resize, rotate and crop your uploaded image using a clear user interface.

Demo at https://fpluquet.github.io/vue-avatar-editor/

Installation

This is a Node.js module available through the npm registry.

Before installing, download and install Node.js. Node.js 0.10 or higher is required.

Installation is done using the npm install command:

$ npm install vue-avatar-editor-improved

Usage

<div id="app">
      <vue-avatar
      :width=400
      :height=400
      :rotation="rotation"
      :scale="scale"
      ref="vueavatar"
      @vue-avatar-editor:image-ready="onImageReady"
      >
    </vue-avatar>
    <br>
    <input
      type="range"
      min=1
      max=3
      step=0.02
      :value='scale'
    />
    <input
      type="range"
      min=1
      max=3
      step=0.02
      :value='rotation'
    />
    <br>
    <button v-on:click="saveClicked">Click</button>
    <br>
    <img ref="image">
</div>
import Vue from 'vue'
import {VueAvatar} from 'vue-avatar-editor-improved'

let vm = new Vue({
  el: '#app',
  components: {
    VueAvatar,
    VueAvatarScale
  },
  data () {
      return {
          rotation: 0,
          scale: 1
      };
  },
  methods: {
      saveClicked () {
          var img = this.$refs.vueavatar.getImageScaled()
          this.$refs.image.src = img.toDataURL()
      },
      onImageReady () {
          this.scale = 1
          this.rotation = 0
      }
  }
})

Props

PropTypeDescription
widthNumberThe total width of the editor
heightNumberThe total width of the editor
borderNumberThe cropping border. Image will be visible through the border, but cut off in the resulting image.
colorNumber[]The color of the cropping border, in the form: red (0-255), green (0-255), blue (0-255), alpha (0.0-1.0)
styleObjectStyles for the canvas element
scaleNumberThe scale of the image. You can use this to add your own resizing slider.
rotationNumberThe rotation in degrees of the image. You can use this to add your own rotating slider.

Accessing the resulting image

this.$refs.vueavatar.getImage()

The resulting image will have the same resolution as the original image, regardless of the editor's size. If you want the image sized in the dimensions of the canvas you can use getImageScaled.

this.$refs.vueavatar.getImageScaled()

Contributing

For development you can use following build tools:

  • npm run build: Builds the minified dist file: dist/index.js
  • npm run dev: Watches for file changes and builds unminified into: dist/index.js localhost:8080)
1.0.1

4 years ago

1.0.0

4 years ago