通过canvas来绘制截取部分,然后保存

html部分
<canvas :style="{ width: canvasW + 'px', height: canvasH + 'px' }"canvas-id="myCanvas"></canvas>
<view class="button" @click="save_temp"><text class="cuIcon-down"></text>保存到相册</view>
js部分data部分:canvasW:'',canvasH:'',
onload部分:this.canvasH = uni.getSystemInfoSync().screenHeightthis.canvasW = uni.getSystemInfoSync().screenWidth
methods部分:// 根据百分百计算px  主要用于结算页面高度getPersentageH(p){p = p /100let h = uni.getSystemInfoSync().screenHeightreturn parseInt(h * p)},// 画布方法draw(){/* 创建canvas实例 */let ctx = uni.createCanvasContext('myCanvas');/* 绘制背景图 */  this.path 根据项目中使用到的图片进行赋值ctx.drawImage(this.path,0,0,this.canvasW,this.canvasH);/* 设置字体颜色 */ctx.setFillStyle('#F76260')/* 设置字体大小 和字体family */ctx.font=`${uni.upx2px(30)}px Arial`;/* 设置字体对齐方式 */ctx.setTextAlign('center')/* 设置文字内容以及 canvas的位置 */ctx.fillText('十五个字十五个字十五个字十五个', this.canvasW/2, this.getPersentageH(61))/* 设置头像背景色,用于确定位置 */ctx.setFillStyle('#FBBD08')/* 在画圆截取图片之前保存当前canvas的所有内容 */ctx.save()/* 画笔开始 */ctx.beginPath()/* 画圆方法 坐标,坐标,半径,起始位置,结束位置(画圆固定 2 * Math.PI) */ctx.arc(uni.upx2px(377), this.getPersentageH(54), uni.upx2px(61), 0, 2 * Math.PI)/* canvas 截取API */ctx.clip()/* canvas 连接起始位置API */ctx.fill()/* 插入图片(头像) */ctx.drawImage(this.path1, uni.upx2px(315), this.getPersentageH(50.3),uni.upx2px(122),uni.upx2px(122))/* 截取图片后只能在截取部分现在,这一步是恢复画布 */ctx.restore()/* 放置最下方二维码 */ctx.drawImage(this.path, uni.upx2px(274), this.getPersentageH(67),uni.upx2px(204),uni.upx2px(204));/* 执行canvas的开始画画方法 */ctx.draw()}保存到相册:save_temp(){uni.canvasToTempFilePath({canvasId: 'myCanvas',success: res => {uni.saveImageToPhotosAlbum({filePath: res.tempFilePath,complete: msg => console.log(msg)})},fail: err => console.log(err)})}

uniapp截取部分区域相关推荐

  1. 在视频中选定/截取部分区域画面,然后将左上角坐标百分比和选定区域宽高所占百分比传给后端

    在视频中截取部分区域画面 1. 需求描述 2. 实现思路 3. 效果图展示 4. 代码 1. 需求描述 在视频中选定部分区域,然后将左上角坐标百分比和选定区域宽高所占百分比传给后端 2. 实现思路 播 ...

  2. 易语言快照和截取屏幕区域

    本课录制了两个和截图有关的易语言命令,快照和截取屏幕区域,并且分快照窗口快照,全屏快照,保存快照,已经截屏区域等等. 视频链接: 511遇见易语言教程 一.快照() 主要用于截图 1.窗口快照 2.全 ...

  3. 基于python-opencv和PIL的截取视频区域生成 GIF 动图

    文章目录 前言 用`opencv`读取视频 截取要生成gif的区域 播放区域视频并选择开始帧和结束帧 存储区域截图并用`PIL.Image`生成gif文件 demo源码: 实现效果: 前言 ​ 很多时 ...

  4. 基于python-opencv的图像中截取多边形区域

    最近在语义分割领域苦苦挣扎,模型训练出来后,效果只能说勉强接受,考虑能不能在语义分割模型后追加一层分类模型,对每一个区域再做一次分类.本文仅记录如何在原图中截取出多个多边形. 原图是这样的: 我想要是 ...

  5. uniapp使用uCharts区域图

    ucharts区域图的使用 一.引入uCharts插件 二.定义html模板和样式 三.定义变量及宽高度 四.调用接口获取数据 五.ucharts图表数据渲染显示 六.个人感悟 一.引入uCharts ...

  6. 微信小程序拍照截取指定区域图片(话不多说,直接上代码)

    效果图 wxml <camera wx:if='{{isShowCamera}}' class="camera-box" devic-position="width ...

  7. 从多个pdf文档中截取部分区域拼接成一个pdf文档

    提取合并多个pdf页面中的子区域,形成一个没有分页符的页面. 输入input:多个pdf的Rect区域 areas in pdf 输出output:一页(只是一页)完整的pdf文档 a page of ...

  8. java截取指定区域屏幕,Java 屏幕截取,抓取屏幕截图

    Java 屏幕截取,抓取屏幕截图 发布时间:2018-04-25作者:spider阅读(1519) import java.awt.Desktop; import java.awt.Dimension ...

  9. 微信小程序 用canvas截取身份证区域 we-cropper

    微信小程序拍照页面需要做成这个样子.评估了一下需求发现可以做.那么开整. 下载WeCropper 先把项目克隆下来 git clone https://github.com/we-plugin/we- ...

  10. Arcgis 只有边界线的情况下如何截取目标区域(掩膜裁剪)

    首先要明确文件类型,shp文件是矢量文件,raster是指栅格 第一步: file/ add data 将文件都读取进来 如上图所示,我读取了澳大利亚的蒸散发卫星图像以及其西南某一流域边界线的shp文 ...

最新文章

  1. C# Redis写入程序
  2. 汉诺塔的实现 c++
  3. Boost 库中的实用工具类使用入门
  4. Linux shell脚本编程(三)
  5. 网站开启https后很慢_网站优化中哪些设置会影响蜘蛛的抓取?对网站SEO产生什么影响...
  6. mysql导出(导入)数据库window平台
  7. java使用阿里邮箱发送邮件
  8. 以安全模式重启计算机,重启进入安全模式 重启电脑如何进入安全模式
  9. ajax 传参json字符串
  10. WinRAR制作单文件(便携版)
  11. 16代表啥_16代表的爱情恋爱含义16代表什么爱情含义
  12. 累次积分怎么计算_把下列累次积分化为极坐标的累次积分,并计算其值 (3)
  13. [Maven 基础]-- Dependency Scope
  14. FontAwesome 图标 class=fa fa-home
  15. Firefox火狐浏览器在http下允许通知
  16. 关于sqlldr官方教材上的几个例子ulcase study1-9
  17. 一文彻底搞懂BP算法:原理推导+数据演示+项目实战(下篇)
  18. Mysql数据库可视化工具Navicat使用
  19. 学习笔记(02):ZStack 带你0基础搭建私有云平台|ZCCT实战培训视频|-ZStack产品与解决方案介绍...
  20. 牛顿迭代公式计算平方根立方根

热门文章

  1. python如何控制运行时间_Python控制函数运行时间
  2. 基于51单片机智能小车的设计与实现
  3. Python 获取指定日期是周几 3种方法
  4. 关于macbookpro外接显示器(非扩展屏幕,只有一个外接显示器当屏幕)手贱把分辨率设置成1080i(显示器所不支持的分辨率)所造成显示器黑屏并弹出“不支持此视频格式”的解决方法
  5. CICD:CentOS 下 Jenkins 安装
  6. 网络文件传输工具,秒杀各种网络文件传送工具的镭速云
  7. GPS定位(四)-经纬度格式转换-(互转 度转度分秒 度分秒转度……)
  8. MessageBox confirm弹框确认和取消按钮的使用-回调
  9. 词性标记:VA,VC,VE,VV等
  10. win10java怎么打开_图文传授win10如何打开java控制面板的解决本领