Photoshop填充全解析:Shift+F5、内容识别、图案与脚本批处理
发布时间:2026/10/31 18:25:16 锦皓数字建站

1. 先搞清楚填充这个动作在 Ps 里到底填的是什么ShiftF5这个快捷键我敢说绝大多数人第一次按是误触第二次按是因为别人告诉他这个可以去掉水印。填充在 Ps 的菜单里叫编辑 填充位置很低调但它底下挂着的东西比想象中多得多——从最简单的前景色铺底到内容识别填充的采样计算再到图案填充的平铺算法甚至还能塞进一段脚本让它自己算填充色。很多人以为填充就是涂一块颜色实际上它是一套填充源 混合方式 作用范围的三段式结构少了哪一段都没法解释为什么同一个操作在两张图上结果完全不一样。我把填充的适用人群分成三类第一类是刚入门、只知道油漆桶的新手需要先弄明白快捷键和选区的关系第二类是天天修图但每次遇到瑕疵都靠仿制图章硬怼的中级用户这类人最该把内容识别填充的采样区手动框选学会效率能翻倍第三类是做批量生产的设计、电商、自媒体从业者图案填充和脚本填充才是真正能把工时压下来的部分。三个层次对应三套完全不同的用法混着学很容易走弯路——比如新手一上来就研究内容识别填充的适应参数会觉得这功能神经质其实是他连采样区这个概念都还没建立。这篇东西我打算按填充源怎么选—参数怎么定—算法怎么猜—什么时候该放弃自动—怎么批量化这条线走一遍中间穿插我自己在实际项目里踩过的坑。所有操作都基于近几年的 Ps 桌面版本个别老版本菜单项名字略有出入我会标注出来。你手上有哪个版本对照着看就行核心逻辑是不变的。1.1 一个弹出框里的九种填充源各自的责任打开编辑 填充内容下拉里有这么几项前景色、背景色、颜色、黑色、50% 灰色、白色、图案、历史记录、内容识别部分版本还会多出一个脚本…。这个列表不是随便排的它大致是按确定性从高到低排的——越靠前的越可控越靠后的越依赖算法或外部输入。前景色和背景色是最常用的本质就是把当前工具栏那两个色块的颜色铺进选区零计算、零延迟。黑色、50% 灰色、白色是三个固定值看起来多余但我做过统计实际工作里它们的调用频率比想象中高得多50% 灰色在 RGB 里是 128,128,128在图像处理里属于绝对中性色做中性灰图层修皮肤、做剪贴蒙版打底、做通道计算时的中性参考都靠它。你自己在拾色器里调一个差不多灰是调不出这个精确值的因为拾色器有色彩管理介入而填充里的 50% 灰是写死的数值不含任何色彩配置转换。颜色这一项会再弹一次拾色器适合一次性上色不想污染前景色色块的情况。图案和历史记录是两个被严重低估的选项——图案后面会单独讲历史记录填充的意思是把我之前存下来的某个历史状态或者快照的像素值填进来听起来绕实际用途是你在一张图上试了一版调色存了个快照后来改成另一版想局部回到第一版的色彩就可以用历史记录填充配合选区把那一小块刷回去比历史记录画笔更精确因为它遵守选区的硬边。提示填充对话框里的内容识别和编辑 内容识别填充不是一个东西。前者是快速版只填一次没有参数后者会打开一个独立的工作区能手动框采样区、能调适应方式。想认真修图走后者。1.2 按了没反应先看这四个前提ShiftF5按下去毫无动静是新手最常反馈的问题。排查顺序我一般是这么走的前面几项排除掉基本就能定位了。第一个是图层锁定状态。锁定位置不影响填充但锁定全部和锁定像素会直接让填充命令变灰。很多模板文件默认把背景层锁了你从模板新建文件的时候填充就永远点不动。看一眼图层面板顶部那排小锁图标就知道了。第二个是智能对象。智能对象图层可以做内容识别填充吗可以但会先弹一个是否栅格化的提示如果你点了取消操作就中断了看起来像没反应。更坑的是智能对象内部如果本身有蒙版或者被裁剪过栅格化之后填充的范围会跟你预期不一致。第三个是选区为空但存在。路径转选区之后如果路径是空的会生成一个零面积选区界面上看还有蚂蚁线在闪实际上填充进去什么都不会发生。这种情况按CtrlD取消重选就行。第四个是输入法。这个说起来有点离谱但在中文输入法激活状态下Shift会被输入法吃掉F5单独按下去在 Ps 里什么都不做。如果你按了没反应先切到英文输入法再试一次我见过太多人卡在这一步。1.3 那些比对话框快十倍的单键填充真正熟练的人很少打开填充对话框因为有三组快捷键直接绕过了它。AltBackspace部分键盘是AltDelete填前景色CtrlBackspaceCtrlDelete填背景色配合保留透明区域的默认行为在已经有内容的图层上刷色是最快的。还有一个更好用的组合Ctrl单击图层缩略图载入选区然后直接填色这样填出来的范围严格贴合图层原有的不透明像素边缘一个像素都不会外溢。这三组操作背后其实调用的就是同一个填充引擎只是跳过了参数面板用的是当前前景色/背景色 正常模式 100% 不透明度 保留透明区域这套默认值。理解了这一点你就知道什么时候该用快捷键、什么时候必须开对话框——只要涉及混合模式、不透明度或者换填充源就得老老实实按ShiftF5。2. 基础填充的四个参数结果差别能有多大对话框下半部分有四个东西混合模式、不透明度、保留透明区域、以及右上角那个模式记忆开关。绝大多数人从来不动它们但实际上这四个参数的组合决定了填充是铺一层实色还是做一层可调的效果层差别不是一星半点。2.1 混合模式加不透明度把填充当成效果器用最典型的用法是给线稿上色。线稿是黑色线条在白底上你想把它变成深蓝色线条用填充的直接做法是Ctrl单击线稿图层载入选区新建一层填充深蓝然后把这一层的混合模式设成正片叠底。这样白底被过滤掉了只剩蓝色线条。也可以反过来先填深蓝再把这层的模式改成滤色配白色做出来的就是浅色反差线稿。再举个实际场景给金属材质加一层烫金效果。做法是在材质层上面新建一层填充一个暖金色混合模式设为叠加或者柔光不透明度压到 30% 左右。这一层的作用不是覆盖是给下面的明暗关系重新加权。如果你直接用画笔涂涂不匀用填充加混合模式整层像素一致性是 100%这是画笔做不到的。还有一个更细的用法不透明度在填充对话框里和在图层面板里调效果是一样的但前者不会在图层上留下这是一个 37% 不透明度的图层这个信息。如果你后面还要反复改我建议在对话框里保持 100%然后到图层面板去调可回溯性强得多。注意混合模式里的正常和正常在某些版本里对应不同的色彩空间计算方式比如填充一个纯色进去如果文档是 CMYK 模式你用拾色器选的 RGB 值会被转换。做印刷文件的时候一定要在 CMYK 文档里重新取色别直接搬 RGB 数值。2.2 保留透明区域到底在保留什么这个复选框的作用是填充时只作用于当前图层中已经有像素的位置完全透明的区域被跳过。勾上之后你的填充相当于给已有的形状重新上色不勾的话填充会把选区内所有像素包括透明的全部覆盖成新颜色相当于把这个图层变成一块实色区域。判断该不该勾我一般看两件事。如果这个图层带着形状信息比如一个图标、一个文字层栅格化后的图形、一个抠好的产品图一定勾上这样改色不会破坏轮廓。如果这个图层是一张空白的效果层你就是要它变成一整块半透明色那就得取消勾选否则填不进去任何东西。有一个容易忽略的细节图层蒙版不影响保留透明区域的判断。一个图层如果本身是满幅的实色但你用蒙版遮掉了 80%那么勾上保留透明区域后填充蒙版遮掉的地方依然是遮掉的但蒙版下方的实色像素会被新颜色替换。想只填看得见的部分得先把蒙版应用到图层右键蒙版 应用图层蒙版再填。2.3 三个固定值的精确像素与使用场景我把这三个值单独拎出来说因为它们在实际工作里的地位被严重低估了。填充值RGB 数值十六进制典型用途黑色0,0,0#000000蒙版底、通道运算、遮罩图50% 灰色128,128,128#808080中性灰修图、叠加层参考、位移图白色255,255,255#FFFFFF蒙版底、抠图反相、专色底50% 灰这一项尤其值得说。中性灰修图的原理是在图上叠一层 50% 灰、模式设成柔光然后用加深减淡工具在上面画——因为 50% 灰在柔光模式下对底图的影响是零所以画上去的黑白就成了纯粹的明暗调整不会污染色相。而这一层的底色用填充里的50% 灰色填是最准的因为它是软件内置的固定数值不受色彩配置和显示器影响。你用拾色器取一个看起来像中灰的颜色数值大概率是 127 或 129差这一两个数值柔光模式下就会出现极轻微的偏色大面积平涂的时候肉眼能看出来。3. 内容识别填充它到底是怎么猜出这块像素的内容识别填充是 Ps 里被误解最深的算法之一。网上大量教程把它讲成智能去物体导致很多人以为它无所不能一上手发现边缘糊成一团。真相是这个算法本质上是一个纹理拼接器它只做一件事——在你指定的采样区里找和边界最匹配的图块旋转、缩放、镜像之后拼过来再用颜色适应把接缝抹平。它不理解这是一根电线或者这是一张脸它只认像素的统计特征。理解了这句话你就知道为什么纯色背景上去电线一秒钟搞定而草地上的电线怎么填都是鬼影。3.1 自动采样和手动采样差的是一个数量级打开编辑 内容识别填充你会看到一个全屏工作区左边是参数中间是预览最关键的是一块半透明绿色覆盖的区域那就是采样区。默认情况下软件会自动把选区周围的像素全部圈进采样区绿色铺满半个画布。这在一张元素单一的照片上没问题但如果选区旁边正好有一块你不想被借鉴的东西比如一截手指、一片花纹不同的布料算法就会从那里取样结果必然出错。手动采样的操作很简单切换到顶部工具条上的采样画笔按住Alt擦掉不想要的采样区或者用普通画笔把想要的区域涂绿。我一般会做三件事先把自动采样的范围缩小到纹理最接近的那一小块再确保采样区里没有明显的光影突变最后检查一下采样区的面积是不是选区的三倍以上——低于这个比例算法可用的素材不够拼出来会明显重复。提示采样区只要包含足够多但纹理统一的像素就够了不是越大越好。我以前习惯把整片背景都圈进去结果算法从远处亮度不同的区域取了一块接缝一眼可见。后来改成只圈紧贴选区的一圈成功率反而高得多。3.2 四个适应开关什么时候该动它们工作区右侧有四个复选框和一个滑块颜色适应、旋转适应、镜像、缩放。这四个东西控制的是算法可以从采样像素里做多大程度的变形全开的时候搜索空间最大但出错概率也最大。颜色适应滑块范围是 0 到 5默认值偏中间。它的作用是允许算法把取来的图块做亮度/色相的渐变匹配。数值越高接缝越平滑但纹理细节被压缩得越厉害。修大面积天空的时候我会把它调高因为天空本身就是连续的渐变修砖墙、木纹这类有明确结构的我会把它压到 1 到 2宁可留一点接缝也不能让砖缝糊掉。旋转适应有五个档位无、低、中、高、全部。这个开关只在你采样区里的纹理方向和选区方向不一致时才有意义。比如选区是一条斜着的裂缝而周围的砖是横平竖直的这时候开中或者高能让算法把砖的走向转过来。如果纹理方向本来就一致开着它纯粹是增加计算量和出错机会我一般直接关掉。镜像和缩放类似前者允许算法把图块翻转后使用后者允许缩放。这两个开关在有明显方向性的图案上要谨慎——比如文字、有透视的建筑线条开了镜像之后会出现反过来的字。但如果是随机噪点、草地、石头这类无方向纹理开着它们能显著提高匹配成功率。3.3 输出选项别直接往原图层上填工作区右下角有个输出到的下拉三个选项新建图层、当前图层、复制图层。我强烈建议永远选新建图层。原因很实际——内容识别填充是一次性的概率游戏你填完之后很可能需要在边缘用蒙版擦一擦、或者混合一点原图回来。如果直接填在当前图层上原像素就永久没了除非你提前存了快照。输出到新建图层你手上就同时握有原始版和填充版中间用蒙版过渡这才是可控的修图方式。还有一个细节输出到新建图层之后那个图层会自带一个蒙版蒙版默认是全白的。你在蒙版上用黑色柔边画笔把填充痕迹擦掉一点让原始像素透出来一部分接缝会自然很多。这一招我用了好几年比在填充参数上反复折磨有效得多。4. 什么图能交给内容识别什么图必须手动上我在带人的时候发现一个规律新手对内容识别填充的失望90% 来自选错了图。这功能不是不行是它的适用边界很窄越界就翻车。所以我干脆整理成一张表你拿到一张图先对号入座能省下大量试错时间。4.1 适用性对照清单图像特征内容识别填充表现建议方案纯色或缓变背景天空、墙面、纯色棚拍底很好几乎无痕直接用或干脆用纯色填充随机纹理草地、砂石、毛发、水面波纹好重复感不明显加大采样区关闭镜像以外的高级适应有方向的规则纹理砖墙、木地板、瓷砖、条纹布中等容易错缝手动采样 旋转适应调高 后期蒙版回修有透视的建筑线条、文字、Logo差线条会断分段填充或者用仿制图章逐段接人像皮肤、五官边缘差容易糊用修复画笔或仿制图章别硬填大面积复杂场景人群、树林、街道差会出现明显鬼影分层处理或用生成式填充辅助16 位/32 位高动态图可用但慢先转 8 位处理完再转回去能省一半时间这张表不是说内容识别填充不好用而是说它有个适用半径。随机纹理和缓变背景是它的主场结构化的东西是它的死穴。你在死穴上硬刚不如换成仿制图章手动接几笔十分钟能解决的别耗一小时。4.2 我的三步法分层填、蒙版修、局部补真正修一张有瑕疵的图我从来不指望一次填充搞定。我的固定流程是三步第一步把要修的区域用套索大致圈出来圈得宽松一点边缘做出一点羽化2 到 5 像素避免硬边。然后编辑 内容识别填充手动框采样区输出到新建图层。这一步的目标是有个六七成像不追求完美。第二步在新图层上加蒙版用黑色柔边画笔把画面里明显不对的那几块擦掉——比如拼出来的鬼影、断掉的线条、色差明显的补丁。擦掉之后原始像素就露出来了画面变成大部分是填充结果、小部分还是原来的瑕疵。第三步剩下的那一小部分瑕疵用仿制图章或者修复画笔手动补。因为面积小手动补几笔就完了比反复调整填充参数要快。这套流程的关键在于把算法擅长的事和人擅长的事分开——算法擅长铺大面积随机纹理人擅长处理结构性、有语义的地方。反过来用两边都痛苦。5. 图案填充把重复劳动压成一次定义图案填充在快捷键党眼里存在感极低但它在几个特定场景里是无可替代的平铺纹理、格子布料、网点、包装设计里的重复元素、网页切图的背景。核心逻辑只有一句话——先定义一块最小重复单元然后用填充把它铺满整个选区。难点不在填充在怎么定义出一块能无缝拼接的图案。5.1 定义图案的三个硬性条件编辑 定义图案这个命令看着简单但经常是灰的。灰掉的原因基本就三个第一选区带羽化。只要选区的羽化值大于 0定义图案必定不可用。很多人前面用套索圈图的时候羽化设了 2 像素后面忘了就一直定义不了。检查方法ShiftF6打开羽化对话框看数值是不是 0。第二选区必须是矩形或者至少是软件能识别的规则边界。用椭圆选区定义的图案超出椭圆范围的部分会被填成透明铺出来是一个个独立的椭圆不是无缝的。想做圆形图案得先把圆形放进一个正方形容器里然后全选那个正方形。第三不能用智能对象或者带图层样式的图层直接被截取。定义图案截取的是当前图层在当前状态下的像素如果图层有投影、描边这类图层样式样式不会被算进去。想让样式生效得先栅格化图层样式。注意定义图案时选区的大小决定了图案的瓦片尺寸。同样是 100×100 像素的选区在 72dpi 的文档里定义铺到 300dpi 的印刷文档里会被缩小反过来会被放大。做印刷品的时候先在目标分辨率的文档里定义图案别在低分辨率里做完再搬。5.2 无缝图案的三种做法我常用第二种做无缝图案的核心问题只有一个图案的左边缘要和右边缘接得上上边缘要和下边缘接得上。三种常见解法偏移法最经典。先做好一块图案然后滤镜 其他 位移把水平位移和垂直位移都设成图案宽度的一半。这时候接缝会跑到画布正中间你用仿制图章把中间那道缝修掉再位移回来或者位移一次反向的图案就无缝了。这个方法的好处是你能清楚看到接缝在哪。镜像拼贴法最省事。把图案做成一整块然后复制一份水平翻转贴在右边再垂直复制一份翻转贴在下边四块拼成一个大方块中间截取一块作为新图案。缺点是镜像会造成明显的对称感只适合做抽象纹理做具象素材会露馅。重绘法最笨但效果最好。直接在一个能看见边界的环境里画——比如把画布尺寸调大让图案四周留出空白你在中间画的时候顺手把出界的部分画到对面去画完再裁剪。适合手工笔刷类的纹理。5.3 图案脚本那些藏在填充对话框里的老工具填充对话框的内容里选图案之后右边会出现一个图案选择器可以选到图案预设里的各种内置图案。这里面有一批是脚本生成的树、砖块、交叉线、随机填充、拼接、画框等等。这些东西是十几年前的老功能界面很简陋参数就是几个数字输入框但它们在特定场景下依然好用——比如你要铺一块随机分布的方块做为底纹用随机填充脚本十秒钟就能出一版自己手动摆要摆半天。另外部分版本的内容下拉里会多一项脚本…。选它之后会弹出文件选择框让你挑一个.jsx文件脚本执行后返回的颜色值或图案会作为填充内容。这个用法比较小众实际用途是把根据某种规则算出来的颜色作为填充值比如按图层名的首字母决定填充色、按时间戳生成渐变色之类的。写起来不难后面第七节我会给一段可以直接改的代码。6. 生成式填充它解决了什么又没解决什么近几年的版本里填充菜单里多了一个生成式填充走的是云端模型那条路。它的交互方式和前面所有填充都不一样——前面那些是你告诉软件填什么这个是你告诉软件填成什么样它自己生成像素。这个变化看起来很小实际用起来心理预期要重新建立。6.1 输入提示词和不输入提示词是两种用法最容易被忽略的一点生成式填充的提示词框可以空着。空着的时候它做的事情非常接近加强版的内容识别填充——把你的选区抹掉用周围的信息补回来不引入新物体。这个用法在处理去掉画面里的杂物时很实用尤其是那些结构复杂、内容识别搞不定的区域比如草地上的一根杆子、人群里多出来的一只手。输入提示词的时候它走的是另一条路不是修补是生成。你圈出一块空白区域输入一片木质地板它会真的生成一块地板贴上去而且光照方向会尽量匹配周围。这里的提示词写法和一般的文生图不一样越具体、越描述材质和光照越好越抽象越容易跑偏。一张桌子这种写法出来的东西往往和周围风格不搭写成哑光胡桃木桌面左上打光浅景深匹配度能上一个台阶。提示生成式填充生成的是新像素不是修复后的原像素。它不考虑你图里原本有什么语义只考虑视觉上像不像。所以有文字、有精确几何形状的地方不要指望它出来的字一定是乱的。6.2 生成结果的图层形态与二次利用生成式填充的结果不会直接改你的图层而是生成一个生成式图层——图层名字旁边有个标记缩略图上鼠标悬停能看到这一批生成了几个变体。你可以在属性面板里切换变体、重新生成、或者把它栅格化变成普通图层。这个设计的好处是可回溯。你生成错了切回变体一它还在你想把生成的内容挪个位置生成式图层支持非破坏性的位置调整你想把它当素材用栅格化之后就是普通像素随便你怎么折腾。我一般的做法是先生成三四个变体挑一个最接近的栅格化然后用蒙版只保留我需要的那一小块——大面积直接用生成内容往往会破坏原本的画面平衡。还有一个实际使用中的经验生成式填充对采样范围敏感。你圈的选区边缘如果正好切在某个物体的中间生成出来的东西会接着那个物体长有时候是好事有时候会生成一堆莫名其妙的东西。稳妥的做法是把选区圈得稍微大一圈把边缘的过渡区也包含进去让模型有更多上下文。7. 把填充写成脚本批量化才是真正的效率来源前面讲的都是一张图一张图的操作。但如果你的工作是每天处理三百张产品图全部换成统一的背景色那手动填就是灾难。Ps 的填充功能在脚本层面是开放的一段几十行的代码就能把这活儿干掉。7.1fill方法的四个参数一个都不能含糊在 ExtendScriptPs 内置的脚本语言里填充的核心是selection.fill()方法签名是这样的selection.fill(fillColor, blendMode, opacity, preserveTransparency)四个参数依次是fillColor填充源可以是SolidColor对象纯色也可以是Pattern对象图案。这一项决定了填什么。blendMode混合模式用ColorBlendMode或BlendMode枚举。常用的是ColorBlendMode.NORMAL、ColorBlendMode.MULTIPLY、ColorBlendMode.SCREEN。opacity不透明度0 到 100 的整数。preserveTransparency布尔值对应界面上的保留透明区域。这四个参数和界面上的四个控件是一一对应的没有隐藏项。理解了这一点界面上能做的事脚本里都能做只是写法不同。唯一需要注意的是作用范围——selection.fill作用在当前选区上如果当前没有选区它会作用于整个图层。写脚本的时候如果忘了先doc.selection.selectAll()很容易把整张图填成一坨。7.2 一段可以直接改的批量换色脚本下面这段脚本做的是遍历当前文档里所有名字以_fill结尾的图层把它们已有的像素不包括透明区域填成指定的十六进制颜色。这个需求在做一套图标统一换色的时候特别常见。#target photoshop app.bringToFront(); // 配置区 var TARGET_HEX 1F4E79; // 目标颜色 var SUFFIX _fill; // 图层名后缀 var KEEP_ALPHA true; // 是否保留透明区域 // var doc app.activeDocument; var fillColor new SolidColor(); fillColor.rgb.hexValue TARGET_HEX; var count 0; for (var i 0; i doc.artLayers.length; i) { var ly doc.artLayers[i]; if (ly.name.indexOf(SUFFIX) -1) continue; if (ly.allLocked) continue; // 跳过全锁定图层 doc.activeLayer ly; // 通过载入透明通道选区得到只覆盖不透明像素的选区 var desc new ActionDescriptor(); var ref new ActionReference(); ref.putEnumerated(charIDToTypeID(Chnl), charIDToTypeID(Chnl), charIDToTypeID(Trsp)); desc.putReference(charIDToTypeID(null), ref); try { executeAction(charIDToTypeID(setd), desc, DialogModes.NO); } catch (e) { continue; // 图层完全透明时无选区可载入跳过 } doc.selection.fill(fillColor, ColorBlendMode.NORMAL, 100, KEEP_ALPHA); doc.selection.deselect(); count; } alert(处理完成共填充 count 个图层。);几个实操中踩过的坑记一下charIDToTypeID(Trsp)这一段是用来载入图层不透明区域的选区的等价于Ctrl单击图层缩略图。如果图层是纯透明比如一个空的形状层这一步会抛异常所以必须用try/catch包住否则脚本会中断在第一个空图层上。另外artLayers只包含普通像素图层智能对象、调整层、文字层都不在里面如果你的图层是智能对象得先栅格化或者改用doc.layers遍历并做类型判断。提示脚本跑之前先存一份文件。批量操作最怕的是跑到一半发现颜色填错了如果没有备份撤销步数不够就只能重做。我自己有个习惯所有批处理脚本第一行永远加一句保存副本的动作宁可多一次磁盘写入。8. 常见问题与排查实录填了这么多年有些问题是反复出现的我把它们整理成一张速查表遇到直接对号入座能省下大量瞎试的时间。8.1 问题速查表现象最可能的原因处理方式ShiftF5无反应中文输入法拦截 / 图层锁定切英文输入法检查图层锁图标填充对话框内容识别灰色图层是智能对象 / 文档是 CMYK 高位数模式先栅格化或转 8 位 RGB 处理填充后颜色和选的不一样文档色彩模式为 CMYK / 显示器配置不同在 CMYK 文档内重新取色别跨模式搬数值内容识别填充结果糊成一片采样区包含了不相关纹理手动擦除采样区缩小范围到同质区域内容识别填充出现明显重复块采样区太小素材不够采样区面积至少放大到选区三倍图案铺出来有缝图案本身没有做成无缝用位移法或镜像法重做最小重复单元定义图案命令变灰选区带羽化 / 选区不规则ShiftF6把羽化归零改用矩形选框填充后边缘一圈白边原图层有半透明抗锯齿边缘取消保留透明区域或先扩展选区 1 像素脚本填充报错中断遇到空图层或锁定图层循环里加try/catch和allLocked判断生成式填充生成的字是乱码模型不擅长文字文字类内容手工排版别用生成8.2 我踩过的几个坑写出来让你少走弯路第一个坑在一张 16 位通道的图里反复折腾内容识别填充。当时修一张高动态的风光图瑕疵区域明明不大但每次填充都要等好几秒结果还不理想。后来无意中把文档转成 8 位同样的操作快了三四倍效果反而更好——因为 8 位下算法的搜索空间小更容易收敛到合理的结果。现在我处理这类图的固定流程是8 位修完再转回 16 位做调色。第二个坑以为保留透明区域能保护蒙版。前面提过它保护不了。我曾经在一个带蒙版的图层上填色填完发现蒙版遮住的地方颜色全变了因为蒙版下方的像素其实一直都在只是被蒙版挡住看不见。正确做法是先应用蒙版再填或者干脆新建图层填完再建蒙版。第三个坑图案填充的缩放问题。在 72dpi 的文档里定义了一个 200×200 像素的图案搬到 300dpi 的印刷稿里铺出来只有实际尺寸的三分之一大整个版面的纹理密度全乱了。后来我改成一个笨办法但很稳直接在最终分辨率的文档里定义图案宁可多做一次准备工作也不跨分辨率搬运。第四个坑批处理脚本没有处理图层组。早期的脚本只遍历artLayers结果发现客户的文件把所有图层都套在了组里一个都没处理到。改成递归遍历组之后才行。这个教训让我后来写任何批处理脚本第一件事就是先看清楚文件结构。第五个坑生成式填充的选区画得太小。一开始我按内容识别填充的习惯只圈住要改的那一小块结果生成出来的东西和周围的透视完全对不上。后来发现给大一圈、把周围的过渡区包进去模型的判断明显准了。这个经验反过来也影响了我用内容识别填充的方式——采样区不能太小但也不能无限大两三个物体宽度是个比较稳的经验值。最后分享一个我一直在用的组合操作做过几百次从没失手先复制一层备份在备份上用内容识别填充输出到新建图层然后给这个新图层加蒙版用黑色柔边画笔把边缘擦一圈最后把不透明度降到 85% 左右。降不透明度这一步看起来多余它做的是让填充结果和原图之间产生极轻微的融合接缝的锐利感会消失肉眼几乎看不出修过。这个技巧在修产品图的背景、修人像的杂物时都适用比在参数上反复调要实在得多。
锦
锦皓数字建站
深耕本土企业品牌数字化升级,专注原创端正雅致商务官网,从视觉设计到稳定运维全程保驾护航。