html2canvas 绘制海报 框架uniapp

简介: html2canvas 绘制海报 框架uniapp
<!-- 海报 影藏位置 -->
      <div class="canDiv" ref="canDiv" v-show="haiBa">
        <view class="canDiv1">
          <!-- crossorigin ="anonymous" -->
          <img ref="imhBx" :src="canvasImg.img" mode=""></img>
        </view>
        <view class="canDiv2">{{canvasImg.name}}</view>
        <view class="canDiv3">
          <image :src="canvasImg.erWeima" mode=""></image>
        </view>
        <view class="canDiv4">长按图片保存到手机</view>
      </div>
            <view class="pl1" @click="shareBtn">
        <span class="iconfont foSiz20">&#xe6c4;</span>分享
      </view>
弹出层位置
<uni-popup ref="popupCan" type="center">
      <!-- <view class="" :style="{width:imgWidth,height:imgHeight}"> -->
      <view class="popImg">
        <!-- <view class="popImg" @click.stop="closeBtn"> -->
        <image class="imgPop" :src="imgsBox" mode="aspectFit" style="z-index: 1000;"></image>
      </view>
      <!-- </view> -->
    </uni-popup>
//官网地址
http://html2canvas.hertzen.com/
//微信小程序基于base64生成二维码插件地址
https://github.com/Pudon/weapp-qrcode
//安装
Install NPM
npm install --save html2canvas
Install Yarn
yarn add html2canvas
//页面引入
import html2canvas from 'html2canvas';
// 本页面二维码生成方法
import qrcode from '../../utils/weapp-qrcode.js'
//data数据
data() {
    return {
      haiBa:false,
            canvasImg: {
          img: '',
          name: '',
          erWeima: ''
        }
    }
}
onLoad(e) {
      // 生成二维码
      let erCode = window.location.href
      let params = erCode // 二维码参数
      var imgData = qrcode.drawImg(params, {
        typeNumber: 4, // 密度
        errorCorrectLevel: 'L', // 纠错等级
        size: 800, // 白色边框
      })
      this.canvasImg.erWeima = imgData
},
methods: {
            // canvas海报
      generatorImage() {
        html2canvas(this.$refs.canDiv).then(canvas => {
          // uni.showLoading({
          //  title: '生成中...'
          // })
          // console.log("canvas", canvas.toDataURL());
          this.imgsBox = canvas.toDataURL() //base64字符串   放到图片标签上
          // uni.hideLoading()
        });
      },
      // 生成分享
      shareBtn() {
        this.haiBa = true
        uni.showLoading({
          title: '生成中...'
        })
        setTimeout(() => {
          uni.hideLoading()
          this.generatorImage()
          this.$refs.popupCan.open()
          this.haiBa = false
        }, 500)
      },
}
相关文章
|
3月前
|
文字识别 算法 API
视觉智能开放平台产品使用合集之uniapp框架如何使用阿里云金融级人脸识别
视觉智能开放平台是指提供一系列基于视觉识别技术的API和服务的平台,这些服务通常包括图像识别、人脸识别、物体检测、文字识别、场景理解等。企业或开发者可以通过调用这些API,快速将视觉智能功能集成到自己的应用或服务中,而无需从零开始研发相关算法和技术。以下是一些常见的视觉智能开放平台产品及其应用场景的概览。
|
4月前
|
前端开发 搜索推荐 JavaScript
HTML 框架
HTML 框架
|
4月前
|
移动开发 前端开发 Android开发
【Uniapp 专栏】Uniapp 相较于其他跨平台框架的优势
【5月更文挑战第15天】Uniapp 是一款高效率的跨平台框架,一套代码可生成 iOS、Android、H5 等应用,减少重复工作。它具有强大兼容性,保证各平台稳定运行,提供一致体验。Uniapp 社区活跃,资源丰富,学习曲线平缓,适合新手。性能优化出色,可扩展性强,全面支持前端技术,降低开发和维护成本。因此,Uniapp 成为跨平台开发的热门选择。
145 0
【Uniapp 专栏】Uniapp 相较于其他跨平台框架的优势
|
28天前
|
前端开发
HTML+CSS基础知识(6)背景的设置、表格的设计、表单的设计和框架集
这篇文章详细介绍了如何在HTML和CSS中设置背景、设计表格、创建表单以及使用框架集,并通过代码示例和测试结果展示了具体的实现方法和效果。
HTML+CSS基础知识(6)背景的设置、表格的设计、表单的设计和框架集
|
20天前
|
XML JavaScript 测试技术
Web自动化测试框架(基础篇)--HTML页面元素和DOM对象
本文为Web自动化测试入门指南,介绍了HTML页面元素和DOM对象的基础知识,以及如何使用Python中的Selenium WebDriver进行元素定位、操作和等待机制,旨在帮助初学者理解Web自动化测试中的关键概念和操作技巧。
33 1
|
1月前
|
设计模式 开发框架 前端开发
基于SqlSugar的开发框架循序渐进介绍(20)-- 在基于UniApp+Vue的移动端实现多条件查询的处理
基于SqlSugar的开发框架循序渐进介绍(20)-- 在基于UniApp+Vue的移动端实现多条件查询的处理
|
1月前
|
开发框架 移动开发 前端开发
基于SqlSugar的开发框架循序渐进介绍(19)-- 基于UniApp+Vue的移动前端的功能介绍
基于SqlSugar的开发框架循序渐进介绍(19)-- 基于UniApp+Vue的移动前端的功能介绍
|
2月前
uniapp 安装插件 uView (多平台快速开发的UI框架)
uniapp 安装插件 uView (多平台快速开发的UI框架)
74 0
|
4月前
|
前端开发 JavaScript 开发者
【专栏:HTML与CSS实践篇】CSS框架(Bootstrap/Foundation)快速上手
【4月更文挑战第30天】Bootstrap和Foundation是两种流行的CSS框架,用于构建响应式网页。它们包含预定义的样式、栅格系统和组件,加速开发流程。Bootstrap以其12列栅格系统闻名,而Foundation提供更定制化和模块化选项。了解并熟练运用这些框架的基本概念和组件,结合最佳实践和性能优化,能帮助开发者高效创建符合现代设计趋势的网页项目。
94 3
|
4月前
|
JavaScript Java 测试技术
基于SpringBoot+Vue+uniapp的框架仓库系统的详细设计和实现(源码+lw+部署文档+讲解等)
基于SpringBoot+Vue+uniapp的框架仓库系统的详细设计和实现(源码+lw+部署文档+讲解等)