小程序上传图片加水印

思路:
1.点击图片上传
2.加水印
3.传给后台
html

<canvas class='canvas' canvas-id="firstCanvas"></canvas>

css

.canvas{
   
  border: 2rpx solid pink;
  background: pink;
  width: 100%;
  height: 100%;
  //position:fixed;left:100%; 想隐藏画布单又想执行画布方法,用这个css;用display会不执行画布
}

js

//点击方法上传
  chooseImg: function () {
   
    var that = this;
    wx.showActionSheet({
   
      itemList: ['手机拍摄', '图片上传'],
      success: function (res) {
   
        //if (res.tapIndex == 0) {
   
          wx.chooseImage({
   
            count: 3, // 默认9
            sizeType: ['original', 'compressed'], // 可以指定是原图还是压缩图,默认二者都有
            sourceType: ['camera'], // 可以指定来源是相册还是相机,默认二者都有
            success: funct
UniApp 是一套基于 Vue.js 的前端框架,它旨在提供一次编写、多次部署的能力,支持快速开发小程序、Web、H5 和原生应用。在 UniApp 中,如果你想要在小程序上传图片并添水印,可以按照以下步骤操作: 1. 首先,在项目中引入必要的组件和库,例如uni-uploader用于文件上传,以及`uni.canvas`用于绘制水印。 ```html <template> <view> <uni-uploader action="your/upload/url" :on-success="handleSuccess"></uni-uploader> <canvas ref="watermarkCanvas" :width="imageWidth" :height="imageHeight"></canvas> </view> </template> ``` 2. 定义`handleSuccess`函数,当图片上传成功后,获取返回的URL,并在`mounted`生命周期钩子中图片到`ref`为`watermarkCanvas`的画布上,然后添水印。 ```js <script> export default { data() { return { imageUrl: '', imageWidth: 0, imageHeight: 0, }; }, mounted() { this.getImageInfo().then(() => { // 这里假设你的水印文字、位置和样式已准备就绪 this.addWatermark(); }); }, methods: { handleSuccess(res) { this.imageUrl = res.data.url; this.getImageInfo(); }, getImageInfo() { const img = new Image(); img.src = this.imageUrl; img.onload = () => { this.imageWidth = img.width; this.imageHeight = img.height; this.$nextTick(() => { this.addWatermark(); }); }; }, addWatermark() { // 使用uni.canvas API 在画布上绘制水印 const ctx = this.$refs.watermarkCanvas.getContext('2d'); // ... 编写绘制水印的具体代码 }, }, }; </script> ```
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值