图片马赛克怎么打:格子大小按字高算,三种遮挡强度对照
发一张合照、晒一张快递单、贴一张聊天记录截图,最先要处理的往往不是画质,而是哪些信息不能露。马赛克看起来是最简单的操作——涂一涂就完事,但真正出事的人,几乎都不是没打码,而是打得不够狠:格子太小、只盖住一半、或者用画笔涂了个半透明色块,被调一下对比度就露出来了。
这篇不讲"点哪个按钮",而是先把遮挡强度算清楚:什么信息必须用实心色块、什么可以用马赛克、格子边长该按多少像素设。后面再给手机和电脑两条操作路径,最后是一份发布前的自检清单。
先分清三种"打码":安全性完全不同
市面上的工具通常提供马赛克、模糊、色块(涂抹)三种。它们看着都是"糊掉",但对原始像素的处理方式不一样,安全性差了一个量级。
| 方式 | 对像素做了什么 | 能否被还原 | 适合遮挡 |
|---|---|---|---|
| 实心色块 | 整块像素被替换成纯色,原数据不再存在 | 不能 | 身份证号、手机号、银行卡、车牌、地址、二维码 |
| 马赛克(像素化) | 每个格子内的像素取平均,细节被破坏 | 格子够大时很难;格子小可被 AI 猜出文字 | 人脸、背景杂物、不想被认出的路人 |
| 高斯模糊 | 像素被邻域加权平均,仍保留梯度信息 | 理论上比马赛克更容易被反推 | 只想"柔化"、不涉及敏感信息的场景 |
判断标准很简单:这段信息泄露会不会造成实际损失?会,就用色块,不要犹豫;只是"不想让人一眼认出来",马赛克足够。人脸属于中间地带——大多数场景用大格子马赛克没问题,但如果是需要保护当事人身份(比如未成年人、证人),同样建议直接色块或裁掉。
格子多大才够:按字高算,别按滑块感觉
所有教程都会说"数值越大颗粒越粗",但没人告诉你多大才算够。这里给一个可以套用的算法:马赛克能破坏信息的前提是,一个格子要大于等于被遮内容的最小特征尺寸。对文字来说,这个特征尺寸就是字高。
- 格子边长 ≈ 字高 × 1.2:留 20% 余量,防止抗锯齿边缘残留笔画走向;
- 遮挡区横向格数 = 遮挡宽度 ÷ 格子边长:少于 6 格时,字符间距的节奏还在,专业工具仍可能比对出候选;
- 按原图分辨率算,不按预览缩略图算:同一张图缩到 25% 看,24px 格子显得很粗,实际输出时只有 6px 的效果。
举个实算的例子:一张 4000×3000 的手机照片,画面里有一行身份证号,字高约 40px、整行宽约 320px。
| 格子边长 | 一行剩下几格 | 实际效果 |
|---|---|---|
| 12px | 约 26 格 | 每个数字还能看出大致轮廓,属于"遮了个寂寞" |
| 24px | 约 13 格 | 单字轮廓消失,但数字间距规律仍在,仍不建议用于证件号 |
| 48px | 约 7 格 | 接近可接受下限,仅适合低敏感信息 |
| 整块色块 | — | 证件号、手机号的唯一正确选择 |
如果一定要用马赛克遮文字,把格子边长设到字高的 1.5 倍以上,并把整串号码连同左右空白一起盖住。只盖数字不盖空白,等于把"这里有一串 18 位号码"这个结构信息留给了对方。
手机端:三种场景三条路
场景一:发朋友圈 / 发群里,只想快速遮一下
用相册自带的编辑或聊天软件内的编辑就够了,但有两条硬规矩:
- 不要用"画笔涂鸦"遮信息。涂鸦是一层半透明笔迹,调高对比度、降低亮度就可能看穿;iPhone 上要用「标记 → + → 加入形状 → 填充改为实心」,再盖上去;
- 涂完把图放大到 100% 检查一遍。手机屏幕小,缩略图里"看不见"和"看不清"是两件事。
场景二:人脸 / 路人 / 背景杂物
选带「人像马赛克」或「自动识别人脸」的 App,一次框住所有脸,再手动补漏。多人合照最容易漏的是边缘被裁掉一半的脸、镜子/玻璃里的倒影、手机屏幕里的合照缩略图。
场景三:证件、票据、聊天记录截图
这类不要用马赛克,直接用色块或裁剪。聊天记录还有个常被忽略的点:头像、昵称、时间戳、状态栏里的运营商和电量都可能指向具体的人,要么一起遮,要么整条裁掉。截图本身的处理可以参照手机长截图怎么截里的拼接与裁剪思路,先把无关区域裁掉再打码,比事后一处处涂更省事。
电脑端:PS 三种打法,按"要不要改"选
Photoshop 的马赛克滤镜在「滤镜 → 像素化 → 马赛克」,关键是先有选区。三种常见做法各有适用面:
| 做法 | 操作要点 | 适合 | 缺点 |
|---|---|---|---|
| 选区 + 马赛克滤镜 | 矩形/套索选区 → 滤镜 → 调单元格大小 → Ctrl+D | 规则区域、少量打码点 | 边缘生硬,不规则区域选区麻烦 |
| 全图马赛克 + 历史记录画笔 | 整图打码 → 历史记录面板设源 → 用画笔把不需要的地方擦回原图 | 打码点分散、面积大 | 需要一点图层/历史记录概念 |
| 马赛克图层 + 蒙版 | 复制图层打码 → 加白色蒙版 → 黑笔涂出打码区 | 要反复调整范围 | 文件体积变大,步骤最多 |
做批量(比如一整批商品图都要遮价格标签)时,把动作录成「动作」面板里的一条,或用批处理跑同一个选区位置——前提是所有图的构图一致。构图不一致还硬套批处理,必然出现"该遮的没遮、不该遮的糊了"。
发布前自检:五步,一步都别省
- 100% 放大看一遍:把图放到原始像素比例,逐个检查打码区边缘有没有残留笔画;
- 按住"对比原图":多数工具都有这个按钮,用来确认遮挡范围是否覆盖完整,别只盖住一半;
- 找第二处泄露:同一个号码往往在通知栏、文件名、水印、二维码里再出现一次;
- 检查反光与影子:屏幕反光、玻璃倒影、桌面上的纸张,经常把"已经遮住"的内容再暴露一遍;
- 确认元数据:打码不会删掉照片里的拍摄地点和设备信息,用在线工具重新导出的图通常会清掉,本地软件保存则可能保留。
第 5 条最容易被忽略:图片本身遮得严严实实,EXIF 里的 GPS 坐标却把家庭住址交代了。发原图前把定位信息去掉,是打码之外的必修课。
几个高频问题
马赛克能被"一键还原"吗?
不能真正还原成原图——像素平均之后信息确实丢了。但能被"猜":文字和数字的候选空间很小,攻击者可以渲染所有可能的字符串、用同样的格子打码、再和你的图比对。位数越少(邮编、短账号、日期)越容易被撞出来。所以敏感号码不要用马赛克。
打完码再发微信,二次压缩会不会让马赛克失效?
不会失效,反而会让马赛克边界变柔和、看着更自然。要注意的是反过来:别指望"发出去被压缩一下"来当打码,压缩只降画质,不破坏信息结构,该看清的还是能看清。
给图片加水印能替代打码吗?
不能,两者目的相反。水印是"声明归属",通常半透明、要让人看得见;打码是"阻断信息",必须彻底。如果你既要防盗图又要遮信息,顺序是先打码、再加水印,具体做法见图片加水印怎么加才有用;如果是想弄掉别人图上的水印,那是另一件事,见图片去水印。
批量给几十张截图打码,有没有省事的办法?
有,但前提是"遮挡位置固定"。更现实的做法是先裁剪再打码:把每张图里不需要的区域(状态栏、侧边栏、无关聊天)统一裁掉,剩下要遮的面积往往只剩一小块,逐张涂也就几十秒。裁剪比例怎么定,可以参考证件照尺寸与裁剪里的像素换算思路。
小结
打马赛克这件事,按钮在哪不重要,强度够不够才重要。记住三句话:敏感号码用色块不用马赛克;马赛克格子边长按"字高 × 1.2"算、遮挡区至少留 6 格;发之前 100% 放大自检一遍,顺便把 EXIF 清掉。做到这三条,你发出去的图就不会成为别人的信息来源。