vianvio / FE-Companions

山虽高,我心已决要攀登, 路再难,绊不住我的脚跟; 因为我看到生命之路就在这里。 -- 《天路历程》
447 stars 34 forks source link

20200305 - 我叫张小咩²º²º #38

Open vianvio opened 4 years ago

vianvio commented 4 years ago

问题列表,考虑封装一个图片处理库解决:

  1. webp图片在前端如何判断是否可用,不可用的情况下如何降级。
  2. 移动端不同机型采用不同倍率图片如何处理。
  3. 如何提供图片裁剪,锐化度,图片质量定制。
  4. 根据移动端网络情况选择图片的策略如何制定,怎么实现。有或者没有native判断网络情况Api怎么处理。
vyuvlink commented 3 years ago
  1. webp图片在前端如何判断是否可用,不可用的情况下如何降级。

判断是否支持WebP,可以先加载一个WebP图片,如果能获取到图片的宽度和高度,就说明是支持WebP的,反之则不支持。 不支持的情况下,先把WebP下载到前端转成jpeg格式的base64展示

  1. 移动端不同机型采用不同倍率图片如何处理。

方案一:background-image设置x倍图,background设置默认的2倍图 方案二:picture标签,img标签做兜底处理

  1. 如何提供图片裁剪,锐化度,图片质量定制。

图片裁剪:canvas的drawImage 图片锐化度:canvas对imgData处理 图片质量:canvas的toDataURL

  1. 根据移动端网络情况选择图片的策略如何制定,怎么实现。有或者没有native判断网络情况Api怎么处理。

选择图片的策略不了解什么意思。