Photoshop运行JS脚本批量生成图片时序号自动补零功能失效求助
问题排查
第一版代码的错误点
- 判断取值错误:条件判断中使用的是
layer.textItem.contents(上一次修改后的文本图层内容)作为判断依据,而非当前循环的序号i,逻辑链路完全错乱 - 分支覆盖不全:只覆盖了小于10、大于等于10两种情况,没有覆盖大于等于100的场景,按照你要求的3位固定长度补零规则,1-9需要补2个前导零、10-99补1个前导零、100及以上不需要补零,原有逻辑到100时会生成0100的错误格式
- 文件名生成未使用补零后的值:保存文件时直接拼接了原始序号
i,就算补零逻辑正确,文件名也不会带前导零
补充的完整代码的错误点
你补充的代码里,固定3位补零的逻辑已经是正确的,但是你犯了一个低级失误:
你只把补零后的结果ans用在了文件名拼接上,给文本图层赋值的时候,还是用了没有补零的i.toString(),所以生成的图片里显示的数字不符合要求,文件名其实已经是对的。你只需要把给layer.textItem.contents赋值的内容替换成你算出来的补零结果ans即可正常运行。
内容的提问来源于stack exchange,提问作者Marius
相关产品推荐
相关产品推荐

