图片反相与滤镜
一键反色(负片)、灰度、黑白阈值、棕褐色,再微调亮度、对比度与饱和度,前后对比预览后导出。
浏览器本地运行所有计算都在你的浏览器里完成,数据不会离开本机。
图片只在浏览器本地处理,不会上传
先选择一张图片
生效滤镜: 无
选择滤镜并导出后,这里会显示输出尺寸与体积。
这个工具能做什么
- 做负片效果或反色打印稿:一键把整张图的 RGB 取反,前后对比预览后再导出。
- 把彩色插图转成黑白线稿/灰度,或者用黑白阈值做纯二值效果,适合印章、扫描件提字。
- 调暖色调:棕褐色(sepia)强度可调,配合亮度/对比度/饱和度微调,做出旧照片或复古质感。
- 修正过暗过亮的素材:只调亮度与对比度(不勾其他滤镜)当作轻量级修图工具用。
示例
输入
单个像素 [10, 20, 30, 255],只勾选「反色(负片)」
输出
[245, 235, 225, 255]
计算方式是每通道 255 - 值,alpha 不变,所以 10 → 245、20 → 235、30 → 225。这是纯像素逻辑的真实输出,可以在命令行复现;导出成文件这一步依赖浏览器 canvas,无法离线验证。
常见问题
多个滤镜可以同时开吗?它们按什么顺序叠加?
可以。处理顺序固定为:反色 → 黑白阈值或灰度 → 棕褐色 → 亮度 → 对比度 → 饱和度。顺序会影响结果,比如先反色再做黑白阈值和两者反过来结果不同;界面上的「生效滤镜」会列出当前实际参与计算的项。
黑白阈值和灰度有什么区别?
灰度把每个像素换算成亮度值(Rec.709 加权),输出 256 级灰阶;黑白阈值只保留纯黑或纯白——亮度高于阈值变白,低于阈值变黑。阈值默认 128,调低会让更多像素变白(适合让浅色文字浮出来)。
亮度、对比度、饱和度的取值范围和语义是什么?
三者都是 -100 到 100,语义与 CSS filter 一致:brightness(1 + 值/100)、contrast(1 + 值/100)、saturate(1 + 值/100)。所以 -100 亮度就是全黑,-100 饱和度就是完全灰度,+100 就是两倍强度。
导出 JPEG 和 PNG 该怎么选?
反色、灰度、阈值这类处理不会产生新的透明像素,选 JPEG 体积更小;如果原图带透明通道又想保留,必须选 PNG。JPEG 的质量滑杆只影响 JPEG 输出,PNG 是无损的。
图片会被上传吗?
不会。像素在浏览器里通过 canvas 读进 Uint8ClampedArray,滤镜就地计算完再写回 canvas 导出,页面没有任何上传接口。
关键词:图片反相反色负片invert imagegrayscale黑白阈值sepia亮度对比度饱和度图片滤镜