我直接在 HTML/CSS 中对我的网页进行了原型设计,使用自定义字体作为标题文本。
然而,字体渲染在 Windows 上非常不同,所以我想将网页的某些部分导出为位图,但背景是透明的。
有没有办法做到这一点?
我直接在 HTML/CSS 中对我的网页进行了原型设计,使用自定义字体作为标题文本。
然而,字体渲染在 Windows 上非常不同,所以我想将网页的某些部分导出为位图,但背景是透明的。
有没有办法做到这一点?
是的,如果您可以使用 macOS,您实际上可以这样做。一个名为Page Layers的方便的花花公子程序允许您导出网页的 PSD,然后您可以删除现有的背景图像或元素并随心所欲!
是的!您确实可以使用 Chromium 做到这一点!其中一种方法是将其与以下包装器puppeteer一起使用nodejs:
const puppeteer = require('puppeteer');
const chromiumBinPath = '/usr/bin/chromium-browser';
(async () => {
const browser = await puppeteer.launch({
args: [
'--no-sandbox',
'--disable-setuid-sandbox',
'--disable-dev-shm-usage',
'--single-process',
'--ignore-certificate-errors',
],
//pipe: true,
ignoreHTTPSErrors: true,
headless: true,
executablePath: chromiumBinPath,
});
const page = await browser.newPage();
await page.goto('https://some-site.localhost/render-this-page/');
await page.screenshot({
path: './screenshot.png',
omitBackground: true,
});
await browser.close();
})();
该选项omitBackground: true将屏幕截图保存到没有实心填充背景的图像文件中,因此它确实是透明的,甚至前景中元素的 alpha 透明度也被正确保留!
请注意,我使用外部 Chromium 二进制文件(Ubuntu 包chromium-browser)而不是使用 npm 包安装它。这种方法和上面使用的选项允许我在 WSL 1(Windows 上的 Bash)中运行它,Ubuntu 发行版。
https://github.com/strarsis/screenshot-with-transparent-background
有一个在线工具可以将网页中的所有图层导出为 PSD 文件或仅导出为一组用 zip 打包的 PNG 文件。它支持阴影和不透明度。所有导出的图层都具有透明背景(Alpha 通道)。给你https://www.page2psd.com