思路:
利用HTML5 Canvas功能对图片进行编辑,使用exif-js库获取拍照的方向从而控制图片的旋转角度。
photograph.vue为拍照组件,photographDemo.vue为使用组件的demo,
photograph.vue
<template>
<div @click="takePhotos">
<slot></slot>
<input type="file" accept="image/*" @change="uploadImgChange($event)" ref="photoFile" id="photoFile"/>
</div>
</template>
<script>
import EXIF from 'exif-js'
export default {
props: {
quality: {
value: Number,
default: 0.5
},
maxSize: {
value: Number,
default: 51200
}
},
methods: {
takePhotos () {
this.$refs.photoFile.click()
},
getImg (img, file) {
// img为预览图片的地址
// file为上传的图片文件
this.$emit('getImg', img, file)
},
uploadImgChange ($event) {
let file = $event.target.files[0]
let th