做挂件像网站,成都网页设计培训学校哪家好,网站建设声明函,构建网站需要会什么意思纯前端实现截图功能 一、插件二、主要代码 一、插件
一、安装html2canvas、vue-cropper
npm i html2canvas --save //用于将指定区域转为图片
npm i vue-cropper -S //将图片进行裁剪二、在main.js注册vue-cropper组件
import VueCropper from vue-cropper
Vue.use(VueCropper… 纯前端实现截图功能 一、插件二、主要代码 一、插件
一、安装html2canvas、vue-cropper
npm i html2canvas --save //用于将指定区域转为图片
npm i vue-cropper -S //将图片进行裁剪二、在main.js注册vue-cropper组件
import VueCropper from vue-cropper
Vue.use(VueCropper)三、页面中引入html2canvas
import html2canvas from html2canvas二、主要代码
templatedivh2 stylefont-size: 20px clicktailoring裁剪/h2!--继续写页面的其他内容 pop_alert可封装成组件使用--p截图展示的图片/pimg styleborder: 5px solid #000000 :srcuploadImg alt /div classpop_alert v-ifshowvueCroppermouseenter.nativeentermouseleave.nativeleaverefcropper:imguploadImg:outputSizeoption.size:outputTypeoption.outputType:infotrue:fulloption.full:canMoveoption.canMove:canMoveBoxoption.canMoveBox:originaloption.original:autoCropoption.autoCrop:fixedoption.fixed:fixedNumberoption.fixedNumber:centerBoxoption.centerBox:infoTrueoption.infoTrue:fixedBoxoption.fixedBoxstylebackground-image: none/vueCropperdiv classbtn_boxdiv clicksave确认截图/divdiv clickclose取消/div/div/div/div
/template
script
import html2canvas from html2canvas
export default {data() {return {option: {info: true, // 裁剪框的大小信息outputSize: 0.8, // 裁剪生成图片的质量outputType: jpeg, // 裁剪生成图片的格式canScale: false, // 图片是否允许滚轮缩放autoCrop: false, // 是否默认生成截图框fixedBox: false, // 固定截图框大小 不允许改变fixed: false, // 是否开启截图框宽高固定比例fixedNumber: [7, 5], // 截图框的宽高比例full: true, // 是否输出原图比例的截图canMove: false, //时候可以移动原图canMoveBox: true, // 截图框能否拖动original: false, // 上传图片按照原始比例渲染centerBox: false, // 截图框是否被限制在图片里面infoTrue: true, // true 为展示真实输出图片宽高 false 展示看到的截图框宽高},uploadImg: ,show: false,}},methods: {tailoring() {//裁剪this.$nextTick(() {html2canvas(document.body, {}).then(canvas {let dataURL canvas.toDataURL(image/png)console.log(dataURL, dataURL)this.uploadImg dataURLthis.show true})})},enter() {if (this.uploadImg ) {return}this.$refs.cropper.startCrop() //开始裁剪},leave() {this.$refs.cropper.stopCrop() //停止裁剪},save() {//确认截图this.$refs.cropper.getCropData(data {//获取截图的base64格式数据console.log(data)this.show false})// this.$refs.cropper.getCropBlob(data { //获取截图的Blob格式数据// this.cutImg data;// });},close() {//取消this.show false},},
}
/script
style
.pop_alert {width: 100%;height: 100%;position: absolute;top: 0;left: 0;border: 1px dashed red;background-color: #000000;
}
.btn_box {position: absolute;top: 0;color: red;right: 0;font-size: 30px;display: flex;align-items: center;z-index: 6666;
}
/style链接: https://www.cnblogs.com/zwbsoft/p/16657954.html