有关canvas与image之间的爱恨情仇,以及image与移动端硬件的小情绪~~~

本文讲述了在移动端开发中遇到的canvas与image处理难题,包括如何获取File对象、将图片转换为base64、在canvas上绘制及旋转、导出图片以及在不同浏览器上实现图片下载。在解决过程中,作者详细描述了尝试的各种方法,如通过长按保存、转换为blob格式等,最终找到在微信浏览器上保存图片的解决方案。
摘要由CSDN通过智能技术生成

最近接了一个私单,需求是生成席卡图片并下载打印。主要还需要在移动端操作。刚开始没当回事,等到测试的时候就懵逼了,使用a标签的download属性,移动端每种浏览器的下载都五花八门的,有的下载是.bin文件,有的干脆没反应,没有一种是真正的把图片下载下来的…
还是从头开始说我碰到的问题吧~ 席卡是需要背景图片的,我需要获取到背景图片的File对象,但是由于浏览器的一些政策,我是不能通过img标签获取到的,只能通过<input type="file">这种方式获取,但是这种方式是不可行的,折磨ing…最后想到先通过input:file获取到File对象,然后把它转换成base64的数据格式,存在js中的一个变量上,这样就可以解决这个小问题了哈哈。紧接着就是把这个背景图片画入canvas里面,再画入文字,然后导出,然后点击下载。然鹅,由于生成的席卡需要有两个面,每个面都需要有这个背景图片,我需要把这个背景图片画入canvas里两遍,而且一遍是旋转了180°的画入,崩溃…我从没接触过canvas啊,我也不知道能不能行,查资料呗,没想到canvas的上下文context也支持css3transform属性,那我先画第一遍,然后第二遍执行ctx.rotate(Math.PI);再继续画,不过此时的原点改变了位置。接着写入文字,可以通过context.fillText()这个方法写入文字。好&

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值