【小程序】做了个裁剪图片的自定义组件

一、前提

前段时间要做一个九宫格切图的功能,但是因为九宫格主要是正方形切割,这就不可避免的需要裁剪图片。但是在找遍了全网之后,发现并没有一个很好用的微信小程序裁剪图片组件,很多人推荐的也是前端使用的,在小程序中怎么使用甚至能不能用都是个问题。所以,一拍腿!干脆自己做一个吧!

二、组件详情

2.1 组件预览

首先上组件的预览,看看做出来的效果

2.1.1 图片操作

以下分别为双指缩放、单指移动、裁剪框拖动、图片旋转,旋转90度,镜像+还原

双指缩放示例 单指移动示例 裁剪框拖动示例 图片旋转示例 旋转90度示例 镜像+还原示例
2.1.2 生成图片

点击右下角的对勾可以生成裁剪后的图片

Uniapp的微信小程序中,实现裁剪头像功能可以使用uni-image-cropper组件。 1. 安装组件 在Uniapp项目的根目录下,打开命令行窗口,输入以下命令安装uni-image-cropper组件。 ``` npm install uni-image-cropper --save ``` 2. 引入组件 在需要使用裁剪头像功能的页面中,引入uni-image-cropper组件。 ```html <template> <view class="container"> <uni-image-cropper :src="src" :aspectRatio="1" @cropperdone="onCropperDone"></uni-image-cropper> </view> </template> <script> import uniImageCropper from '@/components/uni-image-cropper/uni-image-cropper.vue' export default { components: { uniImageCropper }, data() { return { src: '' } }, methods: { onCropperDone(base64) { // 处理裁剪后的图片 } } } </script> ``` 3. 使用组件 在需要裁剪头像的时候,设置图片的src属性为需要裁剪图片地址。 ```javascript this.src = 'https://example.com/image.jpg' ``` 在用户完成裁剪后,组件会触发cropperdone事件,将裁剪后的图片以base64格式传递给回调函数。在回调函数中,可以对裁剪后的图片进行处理,例如上传到服务器或保存到本地。 ```javascript onCropperDone(base64) { // 处理裁剪后的图片 console.log(base64) } ``` 4. 自定义样式 uni-image-cropper组件支持自定义样式,可以根据需要在页面中添加样式。 ```css .container { width: 100%; height: 100%; position: fixed; top: 0; left: 0; z-index: 999; background-color: rgba(0,0,0,0.5); } .uni-image-cropper { width: 100%; height: 80%; } .uni-image-cropper .uni-image-cropper-canvas { border: 2px solid #fff; } ``` 通过设置容器的宽度和高度为100%,使组件覆盖整个页面;设置背景色为半透明的黑色,增强遮罩效果。 通过设置uni-image-cropper组件的宽度为100%、高度为80%,使其在页面中居中显示。 通过设置.uni-image-cropper-canvas的边框为2px白色实线,增强裁剪框的可见性。
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值