关于生成图片一些列的问题总结

本文探讨了使用LocalStorage存储页面数据可能遇到的问题,包括缓存命中率的影响、html2canvas在不同版本下的样式兼容性难题及图片加载时的挑战。同时介绍了如何利用Promise.all()处理批量图片转换为Base64编码,确保所有资源准备就绪后再进行绘图。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

页面数据获取存localstroge的缺点

1、localstroge浏览器内建缓存命中率越高,对localStorage方案越不利。出现存储同一个页面时,数据读写时间响应不够,数据缓存的问题

html2canvas画图一些样式支持问题

1、在使用html2canvas的版本问题的时候,高版本的时候会出现文体整体下落,一些颜色渐变还有伪元素的样式不支持

画图的时候图片加载问题

1、首先因为我们得图片都是存在远端库,所以会有从库里面请求到本地一个过程,很多时候存在网络问题会存在请求失败得情况,或者由于请求得时间长图片未加载完成然后去画图得时候获取不到该图片得数据的情况,所以就采取一些解决方案

2、首先我们的网页上的每个图片,都是需要通过向浏览器发送http请求下载而来,所以网络延时是个存在的问题;而base64的它就是可以解决图片的下载可以不用通过向服务器发送请求,可以随着html的下载的同时下载到本地。节省一个http请求,而且也不会因为跨域问题获取图片失败

3、原理:图片的 base64 编码就是可以将一副图片数据编码成一串字符串,使用该字符串代替图像地址。

图片模糊

base64处理后我们得到的图片有时候会图片模糊,可以通过阿里云的裁剪参数将其放大像素点

批量图片处理

1、当页面上存在多个图片,这个时候需要将它们都转成base64后才能去执行画图,不然也会存在某个图片因为请求到本地失败,而获取不到的现象

2、这个时候采用的是js的异步执行方法Promise

Promise.all()它是指所有的方法执行的结果都成功时才执行的函数

Promise通过then返回一个实例,该实例返回的是resolve或者reject,Promise的三种状态pending(待处理),fulfilled(满足),rejected(驳回)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值