news 2026/10/8 10:52:25

用无头 Chrome 把 HTML 截图成文章封面图

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
用无头 Chrome 把 HTML 截图成文章封面图

写博客要配封面图,常见的两条路都不太顺:网上找图有版权风险,用设计工具则要装软件、调半天版式。还有第三条路——把封面当成一个网页来排版,再让无头 Chrome 截成 PNG。

为什么值得这么做

  • 排版完全可控。封面就是一张固定尺寸的画布,标题在哪、多大字号、什么渐变,都能用 CSS 精确指定,不用跟图形界面较劲。
  • 字体走系统。中文直接用系统里的微软雅黑或宋体,不依赖任何在线字体服务,断网也能跑。
  • 没有版权问题。图是自己渲染出来的,不存在"这图是从哪找的"。
  • 可复现。同一段 HTML 任何时候重跑都得到同一张图,改文案只需要改一行。

三步跑通

1. 写封面 HTML。关键是画布尺寸要和后面截图的参数一致:

<!doctypehtml><html><head><metacharset="utf-8"><style>html,body{margin:0;width:1200px;height:800px}body{background:linear-gradient(135deg,#0f2027,#203a43,#2c5364);color:#fff;font-family:"Microsoft YaHei",sans-serif;display:flex;flex-direction:column;justify-content:center;padding:80px;box-sizing:border-box}h1{font-size:76px;margin:0 0 24px;line-height:1.15}p{font-size:32px;opacity:.85;margin:0}</style></head><body><h1>文章标题</h1><p>一句话副标题</p></body></html>

2. 渲染成 PNG。--window-size必须和 CSS 里的画布尺寸对上:

chrome--headless--disable-gpu --no-sandbox --hide-scrollbars\--screenshot=cover.png --window-size=1200,800cover.html

看到NNN bytes written to file就是成功了。

3. 校验产物。确认尺寸对、中文没变成方框:

python3-c"from PIL import Image; im=Image.open('cover.png'); print(im.size, im.mode)"

三个容易踩的坑

坑现象怎么办
画布尺寸与--window-size不一致图被裁掉一块,或四周多出留白两处都写 1200×800;改尺寸时同步改
系统缺中文字体中文全渲染成方框先fc-list :lang=zh | wc -l,为 0 就先装好中文字体再fc-cache -f
刷出一片 dbus / UPower 报错以为渲染失败无桌面环境的正常噪音,只看有没有bytes written to file

什么时候适合用

封面、文章头图、简单示意图这类文字为主、版式规整的图,这条路线几分钟就能出图,改一版也就改一行 CSS。

反过来,需要照片质感、复杂插画或精细数据可视化的场合,它不是合适的工具——那些要么交给专业设计软件,要么用专门的绘图库。

一句话:把封面当成网页来排版,渲染交给浏览器,剩下的工作就只剩调 CSS。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/10/8 10:50:50

Go语言麻将服务端:基于Actor模型与Redis分布式锁的状态一致性实践

简介&#xff1a;本资源是一个基于due分布式游戏服务器框架实现的麻将游戏服务端项目&#xff0c;面向Go语言初学者与分布式系统实践者&#xff0c;解决高并发实时对战类游戏服务端架构设计与落地问题。压缩包共63个文件&#xff0c;含41个Go源码文件&#xff08;覆盖网络通信、…

作者头像 李华
网站建设 2026/10/8 10:48:55

从零手写大模型Agent:工具调用与任务规划实战指南

1. 先说清楚Agent到底是什么 做开发这些年&#xff0c;你会发现一个特别有意思的现象&#xff1a;三年前大家见面聊的是“你的系统用了什么框架”&#xff0c;两年前聊的是“你的模型推理速度多少”&#xff0c;现在见面聊的基本都是“你的Agent能干活了没”。 大模型Agent开发…

作者头像 李华
网站建设 2026/10/8 10:47:08

DeepSeek Harness官方桌面端上手:安装、插件与局域网部署全解析

DeepSeek Harness 这个项目在技术社区里其实已经火了一段时间了&#xff0c;但之前一直没有一个像样的官方桌面端&#xff0c;大家要么啃命令行&#xff0c;要么在网页端凑合。所以当看到官方桌面端发布的消息时&#xff0c;我的第一反应是&#xff1a;终于来了。这篇东西我打算…

作者头像 李华
网站建设 2026/10/8 10:47:02

企业大模型落地指南:从ROI计算到私有化部署的避坑路径

前阵子一位做制造业的老板给我打电话&#xff0c;开口就问&#xff1a;"现在是不是该买个大模型回来&#xff1f;同行都在讲&#xff0c;再不上车就落后了。"我反问他三个问题&#xff1a;你想用它解决哪个具体业务&#xff1f;那件事现在一个月要花多少人工&#xf…

作者头像 李华
网站建设 2026/10/8 10:46:33

从纯Chat到终端Agent:Claude Code与Hermes Agent如何重塑编码工作流

一个很典型的现象&#xff1a;现在讨论 Coding Agent&#xff0c;话题基本都集中在 Claude Code、Codex、Gemini CLI 这类命令行工具上&#xff0c;反而很少有人再吹"用 ChatGPT 网页聊着天把代码写完"了。我自己从去年开始把大量开发工作迁到终端 Agent&#xff0c;…

作者头像 李华