频道栏目
首页 > 资讯 > 微信小程序 > 正文

微信小程序开发之welCropper 微信小程序截图工具

18-01-15        来源:[db:作者]  
收藏   我要投稿

welCropper 微信小程序截图工具


文件目录结构,要在测试机上运行,工程目录选择文件夹project

./
├── documents
│ ├── hierarchy.png
│ ├── result.gif
│ └── screenshot.jpeg
├── project
│ ├── app.js
│ ├── app.json
│ ├── app.wxss
│ ├── pages
│ │ ├── index
│ │ │ ├── index.js
│ │ │ ├── index.json
│ │ │ ├── index.wxml
│ │ │ └── index.wxss
│ │ └── test
│ │     ├── test.js
│ │     ├── test.json
│ │     ├── test.wxml
│ │     └── test.wxss
│ ├── utils
│ │ └── util.js
│ └── welCropper
│     ├── welCropper.js
│     ├── welCropper.wxml
│     └── welCropper.wxss
└── readme.md

保证图片质量,也可以选择压缩图

Documents

因为cropper的数据和事件是直接绑定到Page上的,所以数据和事件命名应该避免一下名字(之后会想办法避免这种情况)及其相关解释:

data中的名字:

cropperData

cropperMovableItems

函数名:

showCropper

hideCropper

originalChange

cropImage

loadImage

clearCanvas

drawImage

drawOriginalImage

drawLines

setupMoveItem

moveEvent

endEvent

外部只用到showCropperhideCropper

/**
    inputPath:输入图片地址
    callback(resPath):点击“完成”按钮后毁掉函数,毁掉函数中会有截图地址
*/
showCropper(inputPath, callback)

使用

welCropper复制到自己的工程当中(以/pages/index/index为例)

wxml引入并调用:
<!-- 引入组件 -->
<import src="/welCropper/welCropper" />

<!-- 调用组件 -->
<template is="welCropper" data="{{data:cropperData, cropperMovableItems:cropperMovableItems}}"></template>

<!-- 用于选择图片,传入cropper中 -->
<button bindtap='selectTap'>select image</button>
wxss引入:
@import "/welCropper/welCropper.wxss";
js引入和使用:
// 获取显示区域长宽
const device = wx.getSystemInfoSync()
const W = device.windowWidth
const H = device.windowHeight - 50

let cropper = require('../../welCropper/welCropper.js');

console.log(device)

Page({
    data: {
    },
    onLoad: function () {
        var that = this
        // 初始化组件数据和绑定事件
        cropper.init.apply(that, [W, H]);
    },
    selectTap() {
        var that = this

        wx.chooseImage({
            count: 1, // 默认9
            sizeType: ['original', 'compressed'], // 可以指定是原图还是压缩图,默认二者都有
            sourceType: ['album', 'camera'], // 可以指定来源是相册还是相机,默认二者都有
            success(res) {
                const tempFilePath = res.tempFilePaths[0]
                console.log(tempFilePath)

                // 将选取图片传入cropper,并显示cropper
                that.showCropper({
                    src: tempFilePath,
                    sizeType: ['original', 'compressed'],   //'original' | 'compressed'(default)
                    callback: (resPath) => {
                        console.log("crop callback:" + resPath)
                        wx.previewImage({
                            current: '',
                            urls: [resPath]
                        })

                        // that.hideCropper() //隐藏,我在项目里是点击完成就上传,所以如果回调是上传,那么隐藏掉就行了,不用previewImage
                    }
                })
            }
        })
    }
相关TAG标签
上一篇:微信小程序开发之Node使用小程序模板消息
下一篇:微信小程序的生命周期和运行原理讲解
相关文章
图文推荐

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 红黑联盟--致力于做实用的IT技术学习网站