سؤال

أحاول أتمتة عملية المسح / الصور المحاصيل في فوتوشوب. أحتاج إلى مسح 3 صور في كل مرة، ثم استخدم الأمر Photoshop's Crop وتصويب الصور، مما يخلق 3 صور منفصلة. بعد ذلك أود حفظ كل الصور من الصور التي تم إنشاؤها حديثا باعتبارها PNG.

نظرت إلى البرامج النصية JSX ويبدو أن الكثير من الوعد. هل ما وصفته بإمكانية أتمتة في فوتوشوب باستخدام جافا سكريبت أو VBScript أو أي شيء؟

هل كانت مفيدة؟

المحلول 3

حصلت بالفعل على إجابة على منتديات فوتوشوب في Adobe. اتضح أن Photoshop CS4 صوري بالكامل عبر JavaScript و VBScript ويأتي مع IDE Developer Developer IDE حقا، وهو كل ما تتوقعه (مصحح الأخطاء ومشاهدة النافذة والترميز والأكثر). لقد تأثرت تماما.

فيما يلي استخراج للرجوع إليه:

يمكنك تشغيل البرنامج النصي التالي الذي سيقوم بإنشاء مجلد جديد قبالة دفعة واحدة الموجودة تقسيم جميع الملفات التي تسمىها FormedFilename # 001.png ووضعها في المجلد الجديد (تم تحريره)

#target Photoshop
app.bringToFront;
var inFolder = Folder.selectDialog("Please select folder to process"); 
if(inFolder != null){
    var fileList = inFolder.getFiles(/\.(jpg|tif|psd|)$/i);
    var outfolder = new Folder(decodeURI(inFolder) + "/Edited");
    if (outfolder.exists == false) outfolder.create();
    for(var a = 0 ;a < fileList.length; a++){
    if(fileList[a] instanceof File){
        var doc= open(fileList[a]);
        doc.flatten();
        var docname = fileList[a].name.slice(0,-4);
        CropStraighten();
        doc.close(SaveOptions.DONOTSAVECHANGES); 
        var count = 1;
        while(app.documents.length){
            var saveFile = new File(decodeURI(outfolder) + "/" + docname +"#"+ zeroPad(count,3) + ".png");
            SavePNG(saveFile);
            activeDocument.close(SaveOptions.DONOTSAVECHANGES) ; 
            count++;
            }
        }
    }
};
function CropStraighten() {
    function cTID(s) { return app.charIDToTypeID(s); };
    function sTID(s) { return app.stringIDToTypeID(s); };
    executeAction( sTID('CropPhotosAuto0001'), undefined, DialogModes.NO );
};
function SavePNG(saveFile){
    pngSaveOptions = new PNGSaveOptions(); 
    pngSaveOptions.embedColorProfile = true; 
    pngSaveOptions.formatOptions = FormatOptions.STANDARDBASELINE; 
    pngSaveOptions.matte = MatteType.NONE; 
    pngSaveOptions.quality = 1; 
    pngSaveOptions.PNG8 = false; //24 bit PNG
    pngSaveOptions.transparency = true; 
    activeDocument.saveAs(saveFile, pngSaveOptions, true, Extension.LOWERCASE); 
}

function zeroPad(n, s) { 
    n = n.toString(); 
    while (n.length < s) n = '0' + n; 
    return n; 
};

يزور هنا للحصول على وظيفة كاملة.

نصائح أخرى

أنا فقط وجدت هذا البرنامج النصي فعلت فقط العمل بالنسبة لي! يتم تلقائيا اقتصاص الصور وتقوم بتصويبها واحفظ كل نتيجة معتمدة.

http://www.tranberry.com/photoshop/photoshop_scripting/ps4geeksorlando/inroscripts/cropandstraightenbatch.jsx.

احفظه إلى محلي ثم قم بتشغيله في ملف ps => file => command => استعرض

PS وجدت في التعليق، وقال إن البرنامج النصي يمكن تنفيذه مباشرة بالنقر المزدوج من Mac Finder أو Windows Explorer.

النسخ الاحتياطي gipt للسيناريو هنا

هل حاولت استخدام تصرفات Photoshop؟ لا أفعل الآن في الجزء المسح الضوئي، ولكن يمكن أن تتم كل الباقي من خلال الإجراءات بسهولة تامة.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top