diff --git a/pages/upload/camera_capture.nvue b/pages/upload/camera_capture.nvue index ef4acf2..a08ae31 100644 --- a/pages/upload/camera_capture.nvue +++ b/pages/upload/camera_capture.nvue @@ -123,7 +123,7 @@ uni.showToast({ title: '相机未就绪', icon: 'none' }) return } - this.$refs.cameraRef.takePhotoSnapshot() + this.$refs.cameraRef.takePhoto() }, onPictureTaken(e) { var path = '' @@ -131,9 +131,46 @@ path = e.detail.path || '' } if (path) { - this.capturedList.push(path) + this.resizeTo1080(path) } }, + // 居中裁剪为 1080×1080 + resizeTo1080(srcPath) { + var that = this + uni.getImageInfo({ + src: srcPath, + success: function(info) { + var w = info.width + var h = info.height + var size = Math.min(w, h) + var clipX = Math.floor((w - size) / 2) + var clipY = Math.floor((h - size) / 2) + plus.zip.compressImage({ + src: srcPath, + dst: '_doc/sq_' + Date.now() + '.jpg', + width: '1080', + height: '1080', + quality: 95, + overwrite: true, + clip: { + x: clipX, + y: clipY, + width: size, + height: size + } + }, + function(res) { + that.capturedList.push(res.target) + }, + function() { + that.capturedList.push(srcPath) + }) + }, + fail: function() { + that.capturedList.push(srcPath) + } + }) + }, flipCamera() { this.facing = this.facing === 'back' ? 'front' : 'back' this.$refs.cameraRef.changeFacing(this.facing)