最近在做一个项目,需要在小程序里面生成宣发海报,保存在本地。

用真机预览的时候,发现在小米8上面位置有所偏差。

因为在绘制内容时所应用的单位是 px,但是小程序canvas的API并没有像其他的一样支持小程序独有的 rpx 自适应尺寸单位,而设计稿的尺寸目测常规的都是按照 iPhone6 屏幕尺寸(375*667)来制作的。

如果想要适应其他尺寸的屏幕时其实需按照iPhone6的绘制大小按比例进行换算即可:

1 let rpx=1;
2
3 wx.getSystemInfo({
4     success(res) {
5       rpx = res.windowWidth/375;
6     },
7 })

在绘制方法中将参数乘以相对单位即可实现自适应:

let context = wx.createCanvasContext("shareCanvas");
context.drawImage(this.logoUrl, 0, 0, 265 * rpx, 262.5 * rpx);

  

转载于:https://www.cnblogs.com/hrone/p/9915006.html

小程序丨canvas内容自适应不同尺寸屏幕相关推荐

  1. php展示微信图片尺寸,微信小程序实现image图片自适应宽度

    本文主要和大家分享微信小程序实现image图片自适应宽度,希望能帮助到大家,首先我们先来了解一下image组件. 一.了解image组件 由于image有默认的固定的宽度和高度,这样我们在做图片自适应 ...

  2. 小程序通过canvas生成海报保存为图片的技巧

    小程序通过canvas生成海报保存为图片的技巧 最近公司要求在小程序点击分享,要生成一张图片,可以保存在用户相册里,图片里的内容根据后台返回的数据生成,这就涉及到小程序画布的知识了,因为微信文档上,画 ...

  3. 小程序05 canvas绘图并保存到相册

    小程序现在没有提供直接分享到朋友圈的接口,所以只能采取折中的策略,即先将要分享的内容先保存为图片,保存到用户相册,然后再由用户将该图片分享到朋友圈 生成小程序码需要access token,后端生成比 ...

  4. 小程序实现canvas添加图文

    小程序实现canvas添加图文 笔者今年刚毕业,也没从业经历,难免有代码编写不成熟的地方,欢迎指正 上周开始接触小程序,这里实现的功能类似表情包制作:选择图片.输入文字后保存到本地.目前只是demo ...

  5. 微信小程序使用canvas绘图并下载

    微信小程序使用canvas绘图并下载 实现的功能: canvas绘制页面 当前页面可下载 文字自动换行 实现的效果最终如下图所示: 在这里插入图片描述 实现步骤: 1.页面初始化获取屏幕尺寸 onLo ...

  6. 关于星空的java小程序_[Java教程]小程序使用Canvas画饼图_星空网

    小程序使用Canvas画饼图 2018-10-24 0 先上效果图 -------------------------------------------------------------w --- ...

  7. 小程序 uni canvas绘制圆角图片 圆角矩形

    小程序 uni canvas绘制圆角图片 圆角矩形 获取canvas的宽度保证适应屏幕 uni.getSystemInfo({success: (res)=> { // res - 各种参数le ...

  8. 微信小程序图片转换成文字_微信小程序中用canvas将文字转成图片,文字自动换行...

    onReady: function () { wx.showLoading({ title: '生成图片中...', }) var that = this const ctx = wx.createC ...

  9. 解决了:微信小程序使用canvas绘制倒计时圆圈和数字居中的实现

    微信小程序使用canvas绘制倒计时圆圈和数字居中的实现 1.显示结果 2.过程: (1)wxml + css <!-- 每道题 --><view style="backg ...

  10. 【微信小程序】小程序使用canvas画布生成分享朋友圈的海报

    思路: 利用小程序组件canvas放置一个画布,然后再利用布局吧canvas画布隐藏,让其绘制成的图片显示在我们的前端页面上面就可以了,最后在利用API将图片保存到我们手机上面就完成了. 上代码! w ...

最新文章

  1. PhoenixGo战胜绝艺,腾讯包揽AI围棋大赛前两名
  2. 关于Jvm知识看这一篇就够了
  3. Android的开发
  4. MyBatis学习总结(1)——MyBatis快速入门
  5. Tomcat启动项目时内存溢出问题如何解决
  6. 服务器日志清理及IIS日志的清理
  7. 从阅读空间到QQ阅读,一个web2.0向web1.0的倒退的产品
  8. 电脑音响怎么插_BMW宝马5系G38改原厂全套哈曼卡顿音响+无钥匙进入,厚街宝马原厂改装中心...
  9. 西班牙人:武磊身体无恙 可以出场比赛
  10. 开发一个Java项目的完整流程(附2600套Java项目源码+视频)
  11. 离散数学 习题篇 —— 最小生成树
  12. Centos7 镜像下载地址
  13. 如何使用PDF编辑软件给PDF删除页码
  14. 怎么攻击一个网站服务器ip,服务器被不同的IP攻击怎么破?
  15. hrbust 1853 哈理工oj 1853 幼稚园的数学Ⅰ【Biginteger】
  16. 大数据知识面试题-Flink(2022版)
  17. HTML iframe 标签
  18. Android中Finish和OnBackPressed、OnDestroy的区别
  19. 随心所欲----食堂点餐系统设计
  20. 关于激光打标机矢量图下载的说明

热门文章

  1. Java加密压缩文件
  2. C++ 单链表基本操作
  3. 二叉树的非递归遍历(转载)
  4. winform自定义消息提示框定时自动关闭
  5. 为什么找不到使用rem的网站
  6. 校验两个文件是否一样(MD5方式:windows,linux,自定义java代码三种方式)——亲测成功
  7. Struts2之OGNL表达式与值栈对象及常用标签的使用
  8. android实现nfc支付宝,支付宝首次支持NFC与LBS 实现快速手机支付
  9. SVN快速上手使用(适用于新入职同事)
  10. 大数据平台搭建及搭建过程出错解析