先把问题解决
本例固定元素为200×100个CSS像素。在设备比例1、按设备像素截图时,PNG是200×100;比例2时是400×200;同一比例2环境选择CSS比例截图则回到200×100。这是指定浏览器和截图设置的对照,不是所有系统截图工具的通用公式。
先给“宽度”写上单位
DOM里的200、PNG文件里的400和文档中显示的宽度,描述的是三个不同对象。CSS像素用于网页排版;图片文件记录栅格宽高;插入文档后还可能按另一套显示尺寸缩放。三者没有必要相等。
MDN对devicePixelRatio的说明把它定义为设备像素与CSS像素的比例,并说明页面缩放可以改变该值,双指放大不改变它。因此,“页面显示100%”还不足以单独决定导出的像素数。截图程序也可以选择缩放或重新采样。
| 对象 | 本例的记录 | 它不能单独证明什么 |
|---|---|---|
| 网页元素 | 200×100 CSS像素,含边框 | 不能决定所有截图程序的输出宽高 |
| 实际PNG | 200×100或400×200像素 | 不能说明插入文档后的显示大小 |
| 文档中的图 | 按需要显示为200×100 | 不能证明原图细节与文本仍可读 |
一个200×100色块,把字体和边框也放进去
练习包中的tile.html是本站原创测试页面。页面只有浅蓝矩形、深色边框、A/B两个标签和两行文字,没有远程图片、登录或业务信息。使用border-box,让指定宽高包括2像素边框,免得把盒模型差异误判成截图缩放。
先在浏览器打开HTML,再检查元素的边界宽高。如果你自己的页面有CSS transform、百分比尺寸或动画,先停掉这些变量;不要用一次有多个变化的截图判断密度问题。
width:200px; height:100px; box-sizing:border-box; border:2px solid #0f172a; background:#dbeafe; font:16px/1.4 Arial,sans-serif;保持布局不变,只改一个截图设置
本次对照使用Edge的独立自动化浏览器环境:固定800×600视口,分别设置设备比例1和2;页面内容与元素尺寸相同。采集的是元素本身,不包含浏览器工具栏。比例2不是把第一张小图再次放大,而是重新渲染同一网页。
Playwright截图选项明确区分CSS和device输出比例。练习使用该选项建立可控对照;系统快捷键、扩展和网页截图服务可能有不同规则,必须另查它们的设置并读出结果文件尺寸。
三次采集,共用同一份HTML
- A
设备比例1,device输出
记录元素200×100,再保存device-1.png。
- B
设备比例2,device输出
元素仍200×100,保存device-2.png;预计像素宽高各翻倍。
- C
设备比例2,css输出
不改网页,把截图输出设为CSS比例,保存css-2.png。
结果要比较宽高、比例和画面内容
三个PNG的实际编码尺寸应与下表一致。宽和高都乘2,像素总数乘4:200×100=20000,400×200=80000。它不代表文件字节一定四倍,PNG压缩还取决于内容。
逐个打开原始下载文件,确认A在左、B在右,边框完整,文字没有被裁掉。用图片查看器的100%像素显示可比较栅格;为了视觉对照,把400×200放在200×100的显示框里也合理,但那是显示缩小,不能改写文件原尺寸。
| 文件 | 记录的元素尺寸 | PNG编码尺寸 | 像素数量 |
|---|---|---|---|
| device-1.png | 200×100 CSS像素 | 200×100 | 20000 |
| device-2.png | 200×100 CSS像素 | 400×200 | 80000 |
| css-2.png | 200×100 CSS像素 | 200×100 | 20000 |
交付需要什么,就保留什么尺度
用于网页或文档里的小幅界面示意时,可以保留较高像素的原始截图,再明确显示尺寸;对方要求精确200×100文件时,应导出或缩放一份该尺寸副本。把原始捕获与交付副本分开命名,避免之后只能从缩小版反复放大。
如果需要裁掉多余区域,按原图与预览坐标的裁剪说明核对选区;如果手里只有低像素旧截图,按像素放大与细节的区别判断,不能把重新采样当成补回不存在的字形。
症状是元素边框也变宽,先查截图比例;症状是少了半行字,先查裁切与滚动范围;症状是图像宽高正确但文字糊,查原始来源、缩放路径和最终显示。改DPI标签、反复保存或只改文件名,都不能替代这些检查。
这张截图可以交付了吗?
- 保留网页/来源版本和原始截图,不混用不同布局。
- 分别写清元素CSS尺寸、PNG像素尺寸及预定显示大小。
- 在实际接收文档或页面中打开,核对小字、边框和裁切。
- 若目标尺寸不同,只从原始捕获生成一份交付副本。
常见问题
设备比例2就一定比比例1清晰吗?
不能这样保证。高密度重新渲染的文字可能保留更多栅格信息;嵌入的低分辨率图片、页面本身的模糊或后续压缩不会因此自动修好。按最终显示尺寸读实际内容,而不是只比像素数字。
