您當前位置>首頁 » 新聞資(zī)訊 » 小程序相關(guān) >
微信小程序截圖工具
發表時間:2021-4-22
發布人:葵宇科技
浏覽次數:77
welCropper 微信小程序截圖工具
文(wén)件目錄結構,要在測試機上運行,工程目錄選擇文(wén)件夾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
- 保證圖片質量,也可(kě)以選擇壓縮圖
Documents
因為cropper
的數據和(hé)事件是直接綁定到Page
上的,所以數據和(hé)事件命名應該避免一下(xià)名字(之後會想辦法避免這種情況)及其相關(guān)解釋:
data中(zhōng)的名字:
- cropperData
- cropperMovableItems
函數名:
- showCropper
- hideCropper
- originalChange
- cropImage
- loadImage
- clearCanvas
- drawImage
- drawOriginalImage
- drawLines
- setupMoveItem
- moveEvent
- endEvent
外部隻用到showCropper
和(hé)hideCropper
/**
inputPath:輸入圖片地址
callback(resPath):點擊“完成”按鈕後毀掉函數,毀掉函數中(zhōng)會有截圖地址
*/
showCropper(inputPath, callback)
使用
将welCropper
複制到自己的工程當中(zhōng)(以/pages/index/index
為例)
wxml
引入并調用:
<!-- 引入組件 -->
<import src="https://www.wxapp-union.com/welCropper/welCropper" />
<!-- 調用組件 -->
<template is="welCropper" data="{{data:cropperData, cropperMovableItems:cropperMovableItems}}"></template>
<!-- 用于選擇圖片,傳入cropper中(zhōng) -->
<button bindtap='selectTap'>select image</button>
wxss
引入:
@import "/welCropper/welCropper.wxss";
js
引入和(hé)使用:
// 獲取顯示區域長寬
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
// 初始化組件數據和(hé)綁定事件
cropper.init.apply(that, [W, H]);
},
selectTap() {
var that = this
wx.chooseImage({
count: 1, // 默認9
sizeType: ['original', 'compressed'], // 可(kě)以指定是原圖還是壓縮圖,默認二者都有
sourceType: ['album', 'camera'], // 可(kě)以指定來源是相冊還是相機,默認二者都有
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() //隐藏,我在項目裡是點擊完成就上傳,所以如(rú)果回調是上傳,那麼隐藏掉就行了,不用previewImage
}
})
}
})
}