图片打马赛克
用纯色方块遮住车牌、地址或屏幕内容,也可以把整张画面像素化,做出复古效果。照片不会上传到任何地方。
把文件拖到这里
.jpg, .jpeg, .png, .webp · 最大50 MB
如何打马赛克
- 1
添加图片
支持JPG、PNG和WebP,一次最多50个文件。格式从文件内容本身识别,所以扩展名写错的照片也会交给正确的解码器。
- 2
设置区域和方块大小
可以把整张画面像素化,也可以用百分比给出矩形或椭圆的位置和大小。方块越大,遮得越多;16像素是一个合适的起点。
- 3
点击“打马赛克”并下载
图片尺寸和格式保持不变,EXIF信息会被去掉,其中的GPS坐标也一起去掉。
为什么方块取平均色,而不是取样
在浏览器里给图片打马赛克,最快的办法是关掉平滑,把图片缩小再放大。这就是最近邻重采样:每个方块随便取里面一个像素的颜色,通常是左上角那个。在纯色图形上看不出区别,在照片上却显得很脏:用这种办法打码的人脸会留下零星的亮点和暗斑,它们根本代表不了那块区域;细小的文字有时还会留下能读出来的片段。这个工具把方块内每个像素的红、绿、蓝和透明度值加起来,用真正的平均色填满方块。代价是多扫描一遍图片,慢得几乎察觉不到,得到的是大家期待的那种均匀、规整的马赛克。
三种方块形状和保留边缘模式
正方形是默认选项,也是隐藏信息最稳妥的选择。圆形会在每个方块里填一个圆点,圆点之间的空隙交给最近的相邻方块,效果柔和,像网点印刷,适合人像。三角马赛克沿对角线把每个方块分成两半,分别取平均色,所以画面里的斜线仍然是斜线,不会变成阶梯。打开“保留更清晰的边缘”后,工具会计算每个方块的Sobel梯度:落在轮廓上的方块会拆成四个一半大小的方块,轮廓保持可辨认,平坦区域仍然粗糙。这样的组合看起来是一张风格化的图片,而不是一堵方块墙。如果目的是复古效果而不是遮挡,这一点就很重要。
怎样才能真正遮住信息
像素化在原理上是可以还原的:如果攻击者能猜到原来的内容(格式固定的车牌、已知的字体、有限的字符集),有时可以用暴力搜索从方块平均色里把它恢复出来。防御手段是方块大小。方块要大到一个方块里落进好几个字符,而不是一个字符一个方块。手机截图上的文字,通常需要24像素或更大;在几米外拍到的汽车车牌,20像素一般就够了。如果内容确实敏感,应该把它裁剪掉或直接涂掉,而不是模糊或像素化。
照片不会离开你的设备
解码、取平均色和重新编码都在这个浏览器标签页里完成。不上传任何内容,没有服务器队列,关闭标签页后图片就从内存中清除。结果里特意不复制EXIF信息:否则一张为了遮住地址而打码的照片,仍然带着拍摄地点的GPS坐标。
常见问题
照片会上传到服务器吗?
不会。读取、解码、像素化和重新编码全部在浏览器中完成,用的是WebAssembly编解码器。没有上传这一步,关闭标签页后任何地方都不会留下副本。
马赛克能被去掉吗?
这个工具做不到。平均后的方块真正替换了原来的像素,原始数值已经不存在。理论上,知道被遮内容大概样子的人,可以根据方块平均色缩小可能的范围,所以方块大小很重要。方块要选得足够大,让一个方块盖住不止一个字符。
打马赛克和模糊有什么区别?
模糊把每个像素扩散到相邻像素里,留下一片平滑、看起来还能还原的涂抹;像素化则把整块正方形区域换成单一的纯色。同样大小的区域,像素化毁掉的信息更多,而且一眼就能看出“这里是故意遮住的”。在截图或证件照片上,这通常正是你想要的效果。
遮文字时方块多大才安全?
经验做法是让一个方块至少盖住两个字符。在原始分辨率的手机截图上,大约是24到32像素;在裁剪过的小图上,可能是12像素。如果在结果里还能看出单个字母的形状,说明方块太小了。
能只给图片的一部分打马赛克吗?
能。把“像素化范围”切换为选定区域,用画面的百分比给出位置和大小,形状可选矩形或椭圆。区域以外的部分原样复制,一个像素都不改。用百分比而不是像素坐标,意味着把另一张照片送进同一条处理链时,同样的设置依然适用。
GPS坐标会被删除吗?
会。结果写入时不带EXIF信息,所以相机品牌、型号、拍摄时间和嵌入的位置信息都会去掉。如果还想清理其他文件,“去除EXIF”做的是同样的事,而且不改动像素。
一次能处理多少个文件?
最多50个文件,总共300 MB。每个文件使用相同的方块大小、形状和区域,多个结果会打包成一个名为pulsarkit-pixelated.zip的ZIP文件。
手机上能用吗?
能。在iOS、Android和电脑上,一切都在浏览器中运行。一张3000 × 2000的照片用时远不到一秒;非常大的图片,用时按比例增加。