微信小程序给图片加水印【使用uni-app】

这篇具有很好参考价值的文章主要介绍了微信小程序给图片加水印【使用uni-app】。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

选择图片后使用canvas绘制图片,再绘制需要的水印文字,将绘制好的画布转化为图片即可

<template>
	<view class='photoPage'>
		<nav-text text='照片加水印' backgroundColor='#1e65ff' :isHome='false' color='#ffffff'> </nav-text>
		<!-- 放置canvas画布并将其移出画面外 -->
		<canvas :style="'width: '+canvasWidth+'px; height:'+canvasHeight+'px; position:fixed;left:8888px'"
			canvas-id="canvas"></canvas>
		<button @click="chooseImage">上传照片</button>
		<!-- 最终效果照片 -->
		<image :src="src" mode="aspectFit" width="100%"></image>
	</view>
</template>
<script>
	import navText from '@/components/navBarText.vue';
	export default {
		components: {
			navText,
		},
		data() {
			return {
				src: '',
				canvasWidth: 0,
				canvasHeight: 0
			}
		},
		methods: {
			chooseImage() {
				let _this = this
				uni.chooseImage({
					sourceType: ['album', 'camera'],
					success: (res) => {
						_this.compress(res.tempFilePaths[0])
					}
				});
			},
			compress(imageUrl) {
				var _this = this;
				//获取原图片信息
				uni.getImageInfo({
					src: imageUrl,
					success: function(res) {
						// 设置canvas宽高等于原图片宽高
						_this.canvasWidth = res.width;
						_this.canvasHeight = res.height;
						// 创建 canvas 的绘图上下文
						const ctx = uni.createCanvasContext('canvas');
						// 绘制图片
						ctx.drawImage(imageUrl, 0, 0, _this.canvasWidth, _this.canvasHeight);
						// 设置水印颜色大小
						ctx.setFillStyle('white');
						ctx.setFontSize(50);
						// 水印文字
						let time = new Date().toLocaleString();
						// 绘制水印文字
						ctx.fillText(time, 10, res.height - 50);
						// 画到 canvas 中
						ctx.draw(false, function() {  // 参数1: 本次绘制是否接着上一次绘制  参数2: 绘制完成的回调
							// 将画布转化为图片
							uni.canvasToTempFilePath({
								canvasId: 'canvas',
								success: function(res1) {
									_this.src = res1
										.tempFilePath
								}
							})
						})
					}
				})
			}
		}
	}
</script>
<style scoped>
</style>

最终效果
微信小程序拍照加水印,uni-app/微信小程序,微信小程序,uni-app文章来源地址https://www.toymoban.com/news/detail-682880.html

到了这里,关于微信小程序给图片加水印【使用uni-app】的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • uni-app/微信小程序 实现图片或元素淡入淡出效果

    如题: 直接上代码 html js部分 需要在date中声明好                 current: 0,                 hidepic: null,                 showpic: null 因为是已进入就开始的,所以 要在生命周期中使用 最后一部别忘了,要给需要淡入淡出的元素或者图片设置绝对定位

    2024年02月12日
    浏览(72)
  • uni-app(微信小程序)图片旋转放缩,文字绘制、海报绘制

    总结一下: 要进行海报绘制离不开canvas,我们是先进行图片,文字的拖拽、旋转等操作 最后再对canvas进行绘制,完成海报绘制。 背景区域设置为 position: relative,方便图片在当前区域中拖动等处理。 添加图片,监听图片在背景区域下的 touchstart touchmove touchend 事件 拖动图片,

    2024年02月09日
    浏览(69)
  • uni-app 微信小程序 图文生成图片 wxml-to-canvas

    在做的小程序要增加一个将文字与图片生成图片不可修改的功能,第一次做,在网上找了不少资料。参考了wxml-to-canvas | 微信开放文档  ,又看了一些相关事例,尝试写了一下。   需要准备的文件及配置项: 1、先把代码片段下载到本地 2、创建wxcomponents目录,把代码片段中的

    2024年02月09日
    浏览(51)
  • uni-app微信小程序使用echarts

    前言:本来是使用的ucharts,但因为无法监听图例点击交互,满足不了需求,所以只能放弃。 首先,下载echart组件。可以先随便建个文件夹,然后 npm init。接着下载依赖 然后找到 node_modulesmpvue-echarts下的文件,如图 只留下src,其他的删掉(没有用到)。然后复制 mpvue-echart

    2024年02月10日
    浏览(74)
  • THREEJS 在 uni-app 中使用(微信小程序)

    threejs 主要是用来开发web端的3D世界,源生包无法适配 微信小程序(会报 document.createElementNS 的错),需要使用 github 上经过大佬改写的 threejs 包。 将源码下载到本地后,找到 将 以上三个文件 复制到自己的 uni-app 项目中 (任意路径下,这里我放在了自己的 utils 下,好像一般

    2024年02月07日
    浏览(58)
  • uni-app:vue3 + uni-app 在微信小程序中无法使用app.component全局注册组件

    按上文中的代码执行后,会发现在微信小程序开发中全局注册的组件是无法显示的,这是uniapp的一个未解决bug, 在uniapp中出了可以通过vue实例的component方法注册全局组件外,uniapp支持另一种全局注册的方式,就是通过 easycom 扫描注册,步骤如下 easycom 的扫描流程是:通过代码

    2024年02月16日
    浏览(98)
  • uni-app 微信小程序 使用mixins设置分享 onShareAppMessage

    参考链接:https://www.jianshu.com/p/844018ca174f 这样设置后,右上角三个点的分享就可以分享了

    2024年02月12日
    浏览(56)
  • uni-app微信小程序使用佳博蓝牙打印机

    1.佳博打印js copy到项目里 2.需要打印的vue页面引入js 3.打印数据初始化 4.打印按钮事件 蓝牙列表连接页面 已连接处打印方法

    2024年02月12日
    浏览(149)
  • uni-app 使用webview加载H5打开微信小程序

    最近公司有个需求要求在app里点击一个功能打开小程序,并且关闭小程序回到app,模仿平安保险app。 毕竟我也是刚学习uni-app,找了很多资料,找到了一个天天外链的网站可以生成一个小程序的链接,使用uni的webview去加载这个链接,很好,需求满足,但是收费,那能不能自己

    2023年04月18日
    浏览(75)
  • 微信小程序使用uni-app开发小程序及部分功能实现详解心得

    目录 一、uni-app 1、简介 2、开发工具 3、新建 uni-app项目 4、把项目运行到微信开发者工具 二、实现tabBar效果 1、创建tabBar页面 2、配置tabBar 1、创建分包目录 2、在 pages.json 文件中配置 3、创建分包页面 四、公用方法封装 五、搜索功能 1、搜索组件 2、搜索建议实现 3、本地存储

    2024年02月11日
    浏览(65)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包