About

<#TEMPLATE_INCLUDE_NINEPAGE_ABOUTME#>
  • Mar

    7

    主要是用来移动开发时,iOS 与安卓都有大量不同的尺寸图标需要生成,而这个脚本就是用来将一张宽与高相等的大图,批量生成 ICON 不同尺寸的图标。

    将以下脚本保存到一个单独的纯文本文件中,后缀名改为 *.jsx,然后在 PS CS6或 PS CC 2014 新版中通过“文件”菜单—“脚本”—“浏览”运行。如果有参数要改,请直接看注释,反正已经写的很清楚了:

    #target photoshop
    app.bringToFront();

    //尺寸集合
    var sizeList = [1024,512,192,180,152,144,128,120,114,100,96,87,80,76,75,72,66,60,58,57,50,48,44,40,36,32,29,16];

    //任意一个宽与高相等的图像,尺寸大于1024x1024像素。
    var fileRef = File.openDialog ("请选择一个文件""*.png", false);

    //也可以在这里直接定义一个输出文件夹,Folder.selectDialog("然后选择一个输出文件夹");
    //我这里直接使用被选择图片的相同目录
    var outputFolder = fileRef.parent;

    //打开文件
    var activeDocument = app.open(fileRef);

    //运行批处理尺寸
    runNow() ;

    function runNow() 
    {
         if(activeDocument.height != activeDocument.width)
         {
             alert("当前文件宽高尺寸不一致,脚本已中止。");
             return;
         }

         if(activeDocument.height < 1024)
         {  
             alert("选择的原始图像尺寸必须大于等于1024x1024像素。");
             return;
          }


         for(var i = 0; i < sizeList.length; i ++)
         {
             //重置图像尺寸
             activeDocument.resizeImage(UnitValue(sizeList[i],"px"),UnitValue(sizeList[i],"px"),null,ResampleMethod.BICUBIC);

             //图像无论是放大还是缩小,都会变模糊,只是放大时模糊的快一些,缩小时模糊的慢一些
             //所以这里复制一个图像进行锐化,可以让缩小后的图像清晰一点。
             var duplicateLayer = activeDocument.activeLayer.duplicate();

             activeDocument.activeLayer = duplicateLayer;

             duplicateLayer.applySharpen();//应用锐化
             duplicateLayer.opacity = 40;

             activeDocument.flatten();//合并图层

             //保存的文件
             var saveFile = new File(outputFolder + "/" + sizeList[i] +".png")

             //如果文件已经存在就先删除它
              if (saveFile.exists)
              {
                    saveFile.remove();
              }

             //以PNG格式保存,带压缩
             var pngSaveOptions = new ExportOptionsSaveForWeb();
             pngSaveOptions.format = SaveDocumentType.PNG;
             pngSaveOptions.transparency = true;
             pngSaveOptions.includeProfile = false ;
             pngSaveOptions.interlaced = false ;
             pngSaveOptions.PNG8= false ;

             activeDocument.exportDocument(saveFile, ExportType.SAVEFORWEB, pngSaveOptions);

             activeDocument.activeHistoryState = activeDocument.historyStates[0];//还原到打开状态
         }     
         activeDocument.close(SaveOptions.DONOTSAVECHANGES);//原始被打开的文件不保存,关闭源文件
    }

    备注:之所以用脚本的方式是因为修改起来比较方便,它不需要某个开发环境,修改完了之后再需要重新编译、安装再使用等烦人操作。

    Feb

    5

    因系统升级,同时也升级了 Adobee Photoshop 到最新版本的 CC 2014,发现在以前 CS 8.0 旧版本中可以正常打开的图片,在 CC 2014 版本中出现打不开的情况,提示无法完成请求,因为找不到不知名的或无效的 JPEG 标志符类型”。

    后来发现因为是文件的后缀名不正确造成的(因为文件是 PNG 编码格式,但后缀名却是 JPG)。CS 旧版本中直接通过文件的编码来识别图像格式,而 CC 新版中却是通过文件名后缀来识别图像格式,所以才会导致文件打不开的情况。

    不管Adobe 是否将这种情况定为 Bug(也可能就是故意这样做的),我反正是将它定性为“超级” Bug,因为无论是什么样的原因,修改文件的后缀是很常见的事情

    解决方法:所以当遇到这种情况时可以尝试修改一下文件的后缀名为其它的图片格式,只有当文件的后缀名与图像编码匹配时,才能打开(蛋疼)。

    Nov

    8

    八个滤镜包括:
    1、Alien.Skin.xenofex2
    2、Eye Candy 5 Textures
    3、Eye Candy 4000
    4、NikColorEfex3 
    5、抽出滤镜
    6、灯光工厂3.0
    7、然烧的梨树
    8、人像磨皮滤镜2.3
     
    安装方法
    直接解压路径Adobe Photoshop CS6\Plug-ins\Panels,重起Photoshop即可使用。

    More...

    Aug

    2

    以下脚本可以在 Adobe CS5 以上版的 ExtendScript Toolkit 中运行(低版本的 PS 未作测试,本人使用编码与测试环境是 PS CS6,以下脚本全部参考 Photoshop JS CS5 API 手册)。如果安装的是绿色版 PS CS5 以上版本,可以将以下代码全部复制,保存到一个 *.txt 文本文件,然后将 .txt 后缀名改为 .js 或 .jsx。然后启动 PS CS5 或 CS6,选择菜单“文件——脚本——浏览”,然后选中脚本文件运行即可。

    #target photoshop
    app.bringToFront();
    app.displayDialogs = DialogModes.NO;

    var fileRef = File.openDialog ("请选择一个文件""*.pdf", false);
    var outputFolder = Folder.selectDialog("然后选择一个输出文件夹");

    var pdfOpenOptions = new PDFOpenOptions ;
        pdfOpenOptions.antiAlias = true ;
        pdfOpenOptions.mode = OpenDocumentMode.RGB ;
        pdfOpenOptions.resolution = 72;//分辨率
        pdfOpenOptions.cropPage = CropToType.BLEEDBOX;//裁切到出血框
        pdfOpenOptions.bitsPerChannel = BitsPerChannelType.THIRTYTWO;

    main();

    function main(){

        try{
            for(var i = 1; true; i++){//PDF页面索引是从1开始的,不是0
                pdfOpenOptions.page = i;
                runNow();
            }
        }catch(err){
             alert(err.description, "错误警告");
             return;
        }
    }

    function runNow(){

            var activeDocument = app.open(fileRef, pdfOpenOptions,);
            var duplicateLayer = activeDocument.activeLayer.duplicate();
            duplicateLayer.opacity = 50;
            activeDocument.flatten();

            var saveFile = new File(outputFolder + "/" + activeDocument.name +".png")
            //以PNG格式保存
            //var pngSaveOptions = new PNGSaveOptions();
            //activeDocument.saveAs(saveFile, pngSaveOptions, true, Extension.LOWERCASE);

            //以JPG格式保存        
            var jpgSaveOptions = new JPEGSaveOptions();
                jpgSaveOptions.embedColorProfile = true;
                jpgSaveOptions.formatOptions = FormatOptions.STANDARDBASELINE;
                jpgSaveOptions.matte = MatteType.NONE;
                jpgSaveOptions.quality = 10//1-12

            activeDocument.saveAs(saveFile, jpgSaveOptions, true, Extension.LOWERCASE);//保存JPG图片
            activeDocument.close(SaveOptions.DONOTSAVECHANGES);//不保存文档关闭
    }

    备注:如果需要自定义脚本,在线 API 手册打开很慢或打不开,可以点击这里下载离线版本手册(CHM 格式)

    Aug

    10

    上一篇“photoshop 图层批量重命名功能(支持批量文件处理,CS2版本以上有效)”里的方法,它只适合photoshop cs2以上的版本的脚本。如果有很多人像我一样,平时只用cs版本怎么办?或者有些人还在用ps 7.0或6.0(当然,这种人可能很少了)。

    很多人可能用习惯了photoshop的动作命令,可能并不了解ImageReady的动作命令,可以说ImageReady的命令功能是强于photoshop的作动命令功能的。可惜ImageReady这个软件从photoshop cs3版本开始没有了。

    photoshop的作动命令文件后缀是“.atn”的,ImageReady的动作命令后缀是“.isa”的,这个先不要搞错了。那ImageReady的动作脚本和photoshop的动作脚本相比,它强在哪里呢,在这个对图层重命名的过程中就体现出来了。即“插入条件”,可能在任何教程书中都没有介绍过关于这个命令的实例,很多书其实连ImageReady都很少提到,就算提到了也是在讲动画或网页相关的东西,并不会去解释ImageReady中关于动作中有“条件”这个东西,即使使用搜索引擎,也只能搜索到ImageReady自带的帮助文件中才有关它的解释。因为一般搞设计的人很少会去用到这个功能,因为这个功能偏向于一些编程语言里的if语句是一样的。

    如果对它的“条件”有兴趣,可以自己去看一下帮助说明;当然如果对它的功能没兴趣,仅仅只是为了改图层的名字,那就不要去学它的使用方法了,只要下载本人这里已经做好的动作文件就可以了。(下载文件在文章末尾)下载以后,用记事本打开它,使用搜索或替换功能将“http://zinewow.cn”替换成为你自己想要改的英文字母。注意,用记事本修改的方式只能改英文名字,不能改中文名字,中文名字需要用“转义字符”才可以。一般转义字符也不可能一个一个的去查,所以如果要用中文字符的话,建义将文件中的第一步动作删除,然后重新录制一下重命名的步骤即可。

    注意:这里替换时有二处的,第一处是修改后名字,step1.newLayerName = "http://zinewow.cn";第二处是判断处的名字step3.compareStringValue = "http://zinewow.cn";

    与上一篇批量改名使用“.jsx”文档不同的是,“.jsx”文档在使用时它会修改你部份图层的属性,比如背景图层会变成普通图层。而在使用这个方法时,它是不会修改你任何图层属性的,仅仅是改名而以。不过它也有缺点,缺点就是没有像“.jsx”那么自由,可以按序顺命名。也就是说它虽然有条件功能,但并没有计算功能;另外它只能对当前打开的文档才能批处理重命名图层,所以并不能像“.jsx”那样支持批量文件。

    More...

    Aug

    10

    请直接下载使用此文件:photoshoprename.rar

     如果想要修改里面图层重命名之后的名字,请按以下步骤:

    1:用记事本打开该文档,找到 layers.name = "http://www.zinewow.cn";

    2:将http://www.zinewow.cn改成任意名字即可。
     

    注意事项:此脚本需要在photoshop CS2版本以上才可以运行。可能有些人做网站资源,需要批量将文档内的图层重命名会用到。所以将此资源放在博客,有需要的可以下载使用。

     

    如果在对图层统一改名的同时,还想按顺序修改图层的名字,可以下载此文档:photoshopRename2.rar

    功能也可以修改为:按序可以从上到下,也可以从下到上,如将代码修改为"http://www.zinewow.cn"+(layers.length-[i]);也可以将数字小于“10”的前面自动加“0”,比如将for一段循环改为:

    for (var i = 0; i<layers.length; i++) {
        if (i<10) {
            a = "0"+i;
            layers[i].name = "http://www.zinewow.cn"+a;
        } else {
            layers[i].name = "http://www.zinewow.cn"+[i];
        }
    }

    Apr

    22

    Digimarc 电子水印消除方式

    • 0 Comments
    • Photoshop! WOW

    图像水印有二种,一种是常见的图片上打上半透明的文字或网址或 Logo 之类的来保护图像的版权,有些网站就是直接放上实底的 Logo 或文字来保护图像版权,来表示这张图片的出处,但这种方式往往因为加了 Logo 或文字之后,破坏了图像整体的视觉效果,尤其是摄影与设计类作品。

    对图像版权或创作者的保护就有了另一种不可见的电子水印方式,就像有了 Digimarc 数字水印这种方式。Digimarc 是 Photoshop 自5.5版本以来唯一个集成的外挂滤镜,可以说在保护图像版权上有着很好的作用。按 Digimarc 的广告宣传来说,这种水印就是人眼不可见,但加在图片上之后就会一直存在于图像中的,并且这种水印一旦被创建之后,既然是截屏或打印出来,再扫描到电脑里,都会一直存在的,是不会被消去的。

    (因为有人在 FCL 组件群里提出了对电子杂志图片防考贝技术上来,后来被群友基本论证了是不可能实现的。就算计算机能做到,人家还可以用相机反拍屏幕等等,后来就聊到了图片的版权保护上来了,就聊到了这个 Digimarc 数字水印。Digimarc 是通过人眼无法查看到的小杂点的方式来实现版权的保护的,Fictiony 看了这个外挂滤镜后,可能觉的好奇,觉的打印出来的图片,再被扫描到电脑里,这水印怎么还不能被消除呢?他的想法是不可能的,但马上他证实了这种水印确实是存在的,并且提出了消除水印的破解方式。)

    具体流程为“新建图层——对当前图层使用黑色填充——然后嵌入新水印(不合并图层的情况下)——继续对当前图层操作亮度/对比度命令,把亮度值调到正值最高——设置当前图层混合模式为差值减去方式——再向下合并图层”如果还不能消去数字水印,就后退加强新加的水印强度,可以使用最高强度,或二次使用低档的水印强度都可以。当再次读取水印的时候,就会发现己经读取不到水印的存在了。

    细心的朋友就己经发现了 Digimarc 使用小的杂点去保护图像的版权,而消除这种电子水印的方式也就是再次添加小的杂点的方式,打破原有的杂点保护,二种杂点混合在一起时,保护图像的水印就被破坏掉了。但这种方式不太适合纯色块的图像或渐变平滑的图像,因为这二种图像添加了杂点后会让图片看起来觉的脏脏的。既使是不消除水印,仅仅只加一次水印来保护图像时,也会发现图片变“脏”了。

    More...

    Mar

    19

    当画面到“正在启动服务注册表...”就会非法操作,网上有人说要打软件的补丁等,如果已经尝试过网上其它几种解决方法,仍然不能解决,那么请试试下面的方法。

    查看计算机的 Print Spooler 服务程序是否被关闭。Print Spooler 服务程序一般人因为没有安装打印机都会关掉这个服务,于是就会引发Adobe Design Premium CS3 的一些问题。其实只要开启 Print Spooler 就没有任何问题了,如果不开启 Print Spooler 就算是打了补丁还是一样没用的。

    首先是 InDesign CS3 在第一次启动时,必须要在系统的控制面版服务中开启 Print Spooler 服务,否则它一到“正在启动服务注册表...”时就会非法退出。但奇怪的是,只要开启一次之后,以后就算把 Print Spooler 关闭掉也没有关系的了,它还是能正常启动。

    再则就是 Adobe Illustrator CS3 这个文件和 InDesign CS3 一样,在第一次保存文件时,需要开启 Print Spooler,才能保存文件,如果在第一次使用时没有开启 Print Spooler 在保存时就会非法操作(很多人可能因为这样把辛辛苦苦做的东西全败在最后一次保存上了)。photoshop cs3 的智能对象与超级智能对象也是一样的,如果使用了 Illustrator CS3 制作的元件,作为了智能对象或超级智能对象,那做完之后是根本没办法保存的了。但它和 InDesign CS3 一样的是奇怪在只要开启一次 Print Spooler,再用 Adobe Illustrator CS3 保存文件时正常的话,以后就算是关闭 Print Spooler 一样可以正常保存文件了。也可以保存智能对象和超级智能对象了。

    但还会有严重的问题是 Print Spooler 关闭之后,Adobe Illustrator CS3 与 Adobe Photoshop CS3 的软件接力就会无效,Adobe Illustrator CS3 无法再复制元件或图层文件到 Adobe Photoshop CS3 中,如果采用强行的拖拉倒霉了,它会直接非法操作,然后自动关闭 Adobe Illustrator CS3。

    所以有没有打印机,都要把 Print Spooler 这个进程开着的了……我想 Adobe Design Premium CS3 要用到的肯定不至这么一个无用的东西,肯定还有其它更多没用的东西被它占用了,所以才会越来越占资源,而软件速度且是越来越慢了。因为关闭 Print Spooler 在 photoshop cs 与 Illustrator 10 中根本不影响相互的使用,而且软件接力功能等都很正常。 

    More...