组件:tki-qrcode.vue  交流群:836383650

<template><view class="content"><button type="primary" @tap="saveToAlbum">保存</button><view class="post"><tki-qrcode ref="qrcode" :val="val" :size="200" background="#fff" foreground="#000" pdground="#000" :onval="false":loadMake="false" @result="qrR" :show="false"></tki-qrcode><view class="wrapper"><canvas style="height: 100%;width: 100%;backgroundColor: #FFFFFF" canvas-id="firstCanvas"></canvas></view></view></view>
</template><script>import tkiQrcode from '@/components/tki-qrcode/tki-qrcode.vue';export default {name: 'canvas-drawer',components: {tkiQrcode},data() {return {val: 'https://www.baidu.com',cover: '../../static/cabin01.png'};},onLoad() {},methods: {qrR(path) {let that = this;this.qr_path = path;let system_info = uni.getSystemInfoSync();let ctx = uni.createCanvasContext('firstCanvas');uni.getImageInfo({src: that.cover,success(res) {console.log(res.path);ctx.drawImage(res.path, 0, 0, 375, uni.upx2px(1020));let linearGrad = ctx.createLinearGradient(0, 0, 800, 0);linearGrad.addColorStop('0.25', '#8b00d2');linearGrad.addColorStop('0.5', '#003fb3');linearGrad.addColorStop('0.75', '#ff3ef0');ctx.fillStyle = '#FFFFFF';ctx.fillRect(uni.upx2px(500), uni.upx2px(790), uni.upx2px(200), uni.upx2px(210));ctx.drawImage(path, uni.upx2px(520), uni.upx2px(800), uni.upx2px(160), uni.upx2px(160));ctx.font = '13px Arial';ctx.fillStyle = '#000';ctx.fillText('长按保存二维码', uni.upx2px(508), uni.upx2px(990));ctx.draw(false, () => {uni.canvasToTempFilePath({x: 0,y: 0,width: 375,height: uni.upx2px(1020),destWidth: 375,destHeight: uni.upx2px(1020),canvasId: 'firstCanvas',success: function(res) {uni.saveImageToPhotosAlbum({filePath: res.tempFilePath,success: function() {console.log('save success');}});},fail(e) {console.log(e);uni.showToast({title: '生成海报失败',icon: 'none'});}});});},fail(error) {console.log(error);}});},saveToAlbum() {this.$refs.qrcode._makeCode();}}};
</script><style lang="scss">.post {height: 100%;background-color: #f4f4f4;.wrapper {height: 1020rpx;display: flex;justify-content: center;align-items: center;margin-top: 50upx;}}
</style>

uniapp canvas绘图生成海报相关推荐

  1. uniapp中自定义生成海报图片

    uniapp中自定义生成海报图片 效果示例图 效果示例图 ##代码块 <template><view class="cardPoster-wrap">< ...

  2. 记一次微信小程序canvas 2d 生成海报问题

    因项目需要,需要制作海报分享. 如: 事情总是不是那么顺利,canvas生成海报生成中遇到各种奇葩问题.一开始是 wx.canvasToTempFilePath 中获取不到canvas对象,调用返回  ...

  3. 微信小程序,使用canvas画图生成海报并保存手机相册

    需求:需要根据背景图片和用户的微信的头像和昵称,生成一张海报图,并保存到手机相册. 首先在画布上绘制海报背景图片,然后再绘制头像.昵称和挑战成功的信息. 代码如下: getImageInfo() {r ...

  4. uniapp 截图或者生成海报

    需求:uniapp移动端需要生成一张当前界面的海报 方案一:类似于手机按钮截图效果.实现代码如下: doSaveScreen() {                 let $this = this; ...

  5. uni-app 使用html2canvas生成海报,一步到位

    ps: 如果图片存在跨域问题,请现在后台配置解决图片跨域问题; app不能操作dom,所以app使用renderJS处理 示例在最后 步骤分为三步 1.安装html2canvas npm i html ...

  6. canvas前端生成海报、二维码、截取节点生成图片

    前言 在最近的项目中,有一个需求是要保存前端生成的二维码,同时需要在二维码上方显示课程名称或者活动名称,下方显示机构名称 这次前端分为PC管理端和uniapp移动端 PC端计划使用qrcode生成二维 ...

  7. Canvas绘图在微信小程序中的应用:生成个性化海报

    Canvas绘图在微信小程序中的应用:生成个性化海报 如极客时间的一些实现案例: 基础语法 Canvas本质是一个可以使用脚本(通常为JavaScript)来绘制图形的 HTML 元素,默认大小为30 ...

  8. uniapp项目中使用canvas生成海报并保存、微信分享、发送至朋友圈

    uniapp项目中使用canvas生成海报并保存.微信分享.发送至朋友圈 1.html <!-- 分享模态框 --><canvas canvas-id="poster&qu ...

  9. 小程序uniapp利用canvas生成海报并可以保存至相册

    ✨uniapp实现生成海报并保存至相册组件,u-popup可以根据自己所使用的组件进行替换 这里主要讲的是JS部分,css和元素相关的就不展开赘述了,下方先给大伙看看效果图,图的下方有代码讲解,最下方 ...

最新文章

  1. c#语言中代替指针,如何在C#中使指针通用?
  2. 程序员如何精确评估开发时间?
  3. One-shot Learning with Memory-Augmented Neural Networks
  4. 区块链共识算法Proof-of-Stake (PoS/权益证明) 常见问题解答 (1)
  5. Open vSwitch介绍
  6. 推荐系统的发展演进历史和模型的目标及优缺点
  7. 447. Number of Boomerangs
  8. 告诉刚入行的兄弟们,钱是这么赚的!
  9. hibernate4.0+版本和3.0+版本的区别总结
  10. 重学前端学习笔记(四十一)--CSS的颜色
  11. 各个音阶的频率_声音各个频率的还原
  12. 「ZigBee模块」基础实验(4)定时器T1的简单应用
  13. 线索二叉树的建立和遍历
  14. java服务监控并发送邮件_详解Spring Boot Admin监控服务上下线邮件通知
  15. LVDT/RVDT(线性/旋转可变差动变压器)、Resolver(旋转变压器)仿真方案
  16. js学习笔记----JavaScript中DOM扩展的那些事
  17. 爱普生LQ-635K针式打印机打链式打印纸设置自动切纸方法
  18. 【WebGIS面试经验】(一)本以为没戏却成功了的面试
  19. php加入语音播报功能_PHP实现语音播报功能
  20. matlab绘制动画保存

热门文章

  1. 画好了一个杯子,哈哈!
  2. 罗克韦尔AB PLC RSLogix5000中的比较指令使用方法介绍
  3. doucument.referrer部分安卓机型一直为空问题
  4. 笔记本联想拯救者英伟达win11调节不了亮度
  5. 老牌破解神器L0phtCrack强势回归 口令破解速度提升500倍
  6. PHP微信支付 curl请求https://api.mch.weixin.qq.com/pay/unifiedorder 返回空的解决方案
  7. 测试人真实面试经历:十面阿里,七面头条,六个Offer
  8. archivelog模式和flashback db以及guarantee restore point之间的相互制约关系!
  9. win10 64位装三菱PLC软件出现oleaut32.dll拒绝访问
  10. CAD网页Web端显示开发为什么要以WebGIS的思路来开发?