当前位置:首页 > uni-app

uniapp拍照加水印

2026-03-05 16:18:18uni-app

实现拍照加水印功能的方法

在uniapp中实现拍照并添加水印的功能,可以通过以下步骤完成:

1. 调用相机或相册选择图片
使用uniapp的uni.chooseImageAPI选择或拍摄照片:

uni.chooseImage({
  count: 1,
  sourceType: ['camera', 'album'],
  success: function(res) {
    const tempFilePath = res.tempFilePaths[0];
    addWatermark(tempFilePath); // 调用水印添加函数
  }
});

2. 创建Canvas绘制水印
通过Canvas在图片上绘制文字或图片水印:

function addWatermark(imagePath) {
  const ctx = uni.createCanvasContext('watermarkCanvas');
  ctx.drawImage(imagePath, 0, 0, 300, 200); // 绘制原图
  ctx.setFontSize(16);
  ctx.setFillStyle('rgba(255, 255, 255, 0.5)');
  ctx.fillText('水印文字', 20, 30); // 添加文字水印
  ctx.draw();
}

3. 保存处理后的图片
使用canvasToTempFilePath将Canvas转换为图片并保存:

ctx.draw(false, function() {
  uni.canvasToTempFilePath({
    canvasId: 'watermarkCanvas',
    success: function(res) {
      const watermarkedPath = res.tempFilePath;
      uni.saveImageToPhotosAlbum({
        filePath: watermarkedPath,
        success: function() {
          uni.showToast({ title: '保存成功' });
        }
      });
    }
  });
});

注意事项

  • Canvas尺寸适配:需根据设备屏幕调整Canvas宽高,避免图片变形。
  • 水印样式:可通过setFillStyle调整水印颜色和透明度,或使用rotate旋转角度。
  • 权限处理:在Android上需动态申请相册和相机权限,在manifest.json中配置。

扩展功能(图片水印)

若需添加图片水印,可在Canvas中叠加绘制:

uniapp拍照加水印

ctx.drawImage('static/logo.png', 10, 10, 50, 50); // 绘制图片水印

示例模板代码

<template>
  <view>
    <button @click="chooseImage">拍照加水印</button>
    <canvas canvas-id="watermarkCanvas" style="width:300px;height:200px"/>
  </view>
</template>

标签: 水印uniapp
分享给朋友:

相关文章

vue实现列表水印

vue实现列表水印

实现列表水印的方法 在Vue中为列表添加水印可以通过多种方式实现,以下是几种常见的方法: 使用CSS背景图 通过CSS的background-image属性为列表元素添加水印背景。水印可以是文字或图…

uniapp应用市场

uniapp应用市场

uniapp应用市场概述 Uniapp作为跨平台开发框架,支持将代码编译到iOS、Android、Web及各类小程序平台。其应用市场(插件市场)是开发者获取扩展插件、模板、组件的重要资源库,涵盖UI组…

uniapp样式库

uniapp样式库

uniapp 常用样式库推荐 uView UI uView 是专为 uniapp 设计的多端兼容 UI 框架,提供丰富的组件和工具类。支持 Vue3 组合式 API,内置主题定制功能,常用于快速构建企…

uniapp安装axios

uniapp安装axios

安装axios 在uniapp项目中安装axios需要确保项目支持node_modules管理。通过npm或yarn安装axios: npm install axios # 或 yarn add a…

uniapp多环境配置

uniapp多环境配置

多环境配置的必要性 在UniApp开发中,多环境配置能有效区分开发、测试、生产等不同环境的API地址、密钥等参数,避免手动修改代码导致的错误。 创建环境配置文件 在项目根目录下创建env.js或co…

任务 uniapp

任务 uniapp

uniapp 简介 Uniapp 是一款基于 Vue.js 的跨平台开发框架,支持一次开发,多端发布(如微信小程序、H5、App、快应用等)。其核心优势在于代码复用率高,开发者可以通过一套代码适配多个…