图片下载之 svg 转 png

前言

今天在下载某个网站的图片的时候遇到一个很有意思的下载机制,就是他没有发送任何网络请求,也没有什么页面跳转就完成了 png 图片的下载,这让没见识的我非常好奇,于是决定一探究竟,看看他是怎么实现的。

实现方式

这里通过我本地已经复现的 demo 来演示。 页面很简单,只有一张 svg 图片和一个下载 png 的按钮: 同时也可以很清楚的看到页面并没有任何关于 png 图片的内容,那么我们怎么实现下载呢? 上文我们提到这个下载并没有使用网络请求,那我们能依靠的就只有这个 svg 了,也就是说我们要实现的其实是把 svg 转成 png 然后下载到本地。 坦白说我前端水平一般,只会增删改查,所以实现逻辑只能交给 AI 来写了🐶,我就负责改吧改吧: 其实驯服 AI 的过程并不顺利,尝试了多次才勉强给我想要的答案,当然还有一个重要原因是我 prompt 写的太烂:

这个过程总结起来就是:

  1. 获取 svg 数据
  2. 创建临时路径
  3. 通过 cavans 画出来
  4. 通过 a 标签下载

需要源码的话,可以关注微信公众号co松柏回复png获取。

相关推荐
anOnion17 分钟前
构建无障碍组件之Tooltip Pattern
前端·html·交互设计
陈随易25 分钟前
为什么今天还会有新语言?MoonBit 想解决什么问题?
前端·后端·程序员
西洼工作室25 分钟前
unipp+vue3+python h5+app极验验证码集成全流程解析
前端·uni-app·全栈·极验
ZC跨境爬虫26 分钟前
跟着 MDN 学 HTML day_15:(媒体缓冲、拖动与时间范围控制)
前端·笔记·ui·html·edge浏览器·媒体
李白的天不白42 分钟前
webpack 与 webpack-cli 版本匹配问题
前端·webpack·node.js
tool44 分钟前
Hermes Agent 从安装到生产:我的完整踩坑记录
前端
kyriewen111 小时前
奥特曼借GPT-5.5干杯,而你的Copilot正按Token收钱
前端·gpt·ai·copilot
空中海1 小时前
01 React Native 基础、核心组件与布局体系
javascript·react native·react.js
空中海1 小时前
05 React架构设计、项目实践与专家清单
前端·react.js·前端框架
人生鹿呀2 小时前
AI 情绪陪伴助手:从 0 到 1 的 PWA + 跨端应用实战
前端