如何在线给照片加 CRT 扫描线效果
- 把照片拖到画布上、直接粘贴,或点击选择文件。图片不会离开你的浏览器。
- 选择 CRT Scanlines,再拖动 细节粒度:调高扫描线更密,调低会散成粗条纹。
- 导出 PNG。无需账号,没有水印。
CRT 效果的原理
在照片上叠一层平铺条纹,看起来只是条纹,不像电视。显像管之所以是那个样子,是因为四件事同时发生;这个滤镜在一次逐像素处理里把它们全部模拟出来:
- 扫描线。 每一行乘上一条余弦曲线,而不是硬切的明暗条——显像管行与行之间是渐暗,不是开关。行亮度在 100% 到约 24% 之间起伏,所以暗线永远不会全黑。在 1400px 的图上,线距从 2px(细节粒度 100)到 9px(细节粒度 0),图越小线距按比例缩小。
- 孔径栅格(Aperture Grille)。 像素列按红、绿、蓝循环,每一列对应的那个通道提亮约 20%,另外两个压暗 5–8%,形成凑近特丽珑(Trinitron)屏幕时看到的细密 RGB 竖纹。
- 色彩错位。 红通道从左侧约 1 像素处取样,蓝通道从右侧约 1 像素处取样,绿通道不动。硬边缘一侧泛红、一侧泛蓝——正是录像带在老电视上播放时的那种色边。
- 荧光辉光(Bloom)。 亮度超过约三分之二的像素被单独提取成辉光图,先横向、再纵向做盒式模糊,然后叠加回扫描线之上。所以高光会发亮并溢过暗线——这是让画面看起来像显像管、而不是一层花纹的关键。
| 滑杆 | 控制什么 | 实用区间 |
|---|---|---|
| 细节粒度(Detail) | 扫描线线距 | 70–100 像精细显示器,20–50 像粗线条老电视 |
| 滤镜强度(Intensity) | 与原图的混合比例 | 90–100 是完整的显像管质感,50–70 是轻微叠加 |
| 对比度(Contrast) | 各通道的色调曲线,以及哪些高光能越过辉光门槛 | 夜景、霓虹照片调高,辉光更明显 |
这个滤镜不含任何随机成分:没有噪点、没有跟踪干扰条、没有屏幕弧度,也没有日期戳。同一张照片、同样的参数,永远得到同一帧。页面里还开放了两个相关滤镜,因为它们正是当年常被送进 CRT 的画面:Pixel Crush 把画面平均成色块、每个通道压到 5 级,像低分辨率游戏机信号;Pixel Sort 沿行横向拉丝,像录像带跟踪失准。滤镜不能在一次处理里叠加,想组合的话,先导出 PNG,再把它拖回来,最后套 CRT Scanlines。
全部运算都在浏览器内的 Canvas 2D 缓冲区完成。图片不会被上传;小图保持原尺寸,大图导出时长边最高 1400px。
适合用来做
- 带老电视质感的 Instagram、小红书等社交平台配图
- 合成波(Synthwave)、蒸汽波与复古游戏风海报
- 专辑与单曲封面
- 把游戏或 App 截图做成「在 CRT 上显示」的样子








