美文网首页
PhotoShop JavaScript 批处理 学习一

PhotoShop JavaScript 批处理 学习一

作者: fox_rabbit | 来源:发表于2018-09-06 19:03 被阅读0次

      对图像进行程序化处理,PhotoShop也许不是最好的那个,但是由于PS受众较广,素材较多,手头能轻松找到许多素材进行再加工,题主学习这个的原因也是为了生成深度学习所需要的数据。

    1. 加载图像
      新建一个文本文件,后缀名设为jsx
    var fileRef = new File('E:/小黄人.jpg');
    var docRef = app.open(fileRef);
    alert(docRef.name); 
    

    这段代码就是新建一个文件对象,并读入图像并显示文件的名字,打开PS,直接加载该脚本,效果如下:


    image.png
    1. 修改文本图层
      我们先插入一个文本(过程略),文本也是一个图层(layer)。
      image.png
      接着我们把这张图片保存为PSD格式,PSD文件里包有图层信息,本文保存为小黄人.psd

    我们在做文本识别的数据时,肯定是希望文字多种多样的。接下来我们在JS里定位到该文本的layer并修改文本。

    • 定位到文本layer
    var fileRef = new File('E:/小黄人.psd');
    var docRef = app.open(fileRef);
    
    var MyTextlayer= docRef.artLayers.getByName( '这是小黄人' ); 
    alert(MyTextlayer.name); 
    

    使用.artLayers.getByName,通过名字来定位,PS插入文本后,文本图层的名字就是文本内容,再用alert弹出该layer的名字。


    image.png
    • 修改文本图层的文本内容
    if ( MyTextlayer.kind === LayerKind.TEXT) 
            MyTextlayer.textItem.contents = '这段文字被成功修改';
    

    再修改文本图层时最好先判断它的kind属性是不是LayerKind.TEXT,只有满足这个条件才能够修改。接下来直接修改layer的.textItem.contents即可。

    image.png
    可以看到文字被成功修改,但是字并不在一行,这跟图层的其他属性有关,事实上,不仅文字,字号,字体都是可以修改的,这里我们先不叙述,有兴趣可以去查文档里layer的所有属性。

    能够定位并修改文本,接下来就可以利用循环批量生成不同文字的图像

    相关文章

      网友评论

          本文标题:PhotoShop JavaScript 批处理 学习一

          本文链接:https://www.haomeiwen.com/subject/nsaxgftx.html