Tôi hy vọng tôi không quá trễ, tôi đăng lại bài đăng của bạn, bởi vì tôi có cùng một vấn đề và tôi đã tìm thấy giải pháp trên http://www.rags-int-inc.com/PhotoTechStuff/CollageTemplate/index.html. Anh chàng này có một kịch bản gọi là "Layer Effects Options". Bạn có thể tải xuống nguồn ở dưới cùng.
Vâng, đó chỉ là một bảng điều khiển để áp dụng hiệu ứng, nhưng nếu bạn duyệt qua mã, bạn có thể trích xuất những gì bạn cần.
Đây là một exsample chút (những gì tôi cần) để áp dụng một hiệu ứng đột quỵ một lớp tích cực
function newStrokeEffect(strokeSize, strokeColor, strokePosition) {
var effectDescriptor = new ActionDescriptor();
var effectColor = new ActionDescriptor();
var strokeOpacity = 100.0; // 0 - 100 %
var strokeBlend = "Nrml"; // Normal[Nrml], ColorBurn[CBrn], SoftLight[SftL}, Color[Clr ]
effectDescriptor.putBoolean(charIDToTypeID("enab"), true);
effectDescriptor.putEnumerated(charIDToTypeID("Styl"), charIDToTypeID("FStl"), charIDToTypeID(strokePosition));
effectDescriptor.putEnumerated(charIDToTypeID("PntT"), charIDToTypeID("FrFl"), charIDToTypeID("SClr"));
effectDescriptor.putEnumerated(charIDToTypeID("Md "), charIDToTypeID("BlnM"), charIDToTypeID(strokeBlend));
effectDescriptor.putUnitDouble(charIDToTypeID("Opct"), charIDToTypeID("#Prc"), strokeOpacity);
effectDescriptor.putUnitDouble(charIDToTypeID("Sz "), charIDToTypeID("#Pxl"), strokeSize);
effectColor.putDouble(charIDToTypeID("Rd "), strokeColor.rgb.red);
effectColor.putDouble(charIDToTypeID("Grn "), strokeColor.rgb.green);
effectColor.putDouble(charIDToTypeID("Bl "), strokeColor.rgb.blue);
effectDescriptor.putObject(charIDToTypeID("Clr "), charIDToTypeID("RGBC"), effectColor);
return(effectDescriptor);
}
var tmpC = new SolidColor();
tmpC.rgb.hexValue = "FF00FF";
var layerOptions = new ActionDescriptor();
var refr01 = new ActionReference();
var layerProperties = new ActionDescriptor();
layerOptions.putUnitDouble(charIDToTypeID("Scl "), charIDToTypeID("#Prc"), 400.0);
var layerEffects = newStrokeEffect(2, tmpC, "InsF");
layerOptions.putObject(charIDToTypeID("FrFX"), charIDToTypeID("FrFX"), layerEffects);
refr01.putProperty(charIDToTypeID("Prpr"), charIDToTypeID("Lefx"));
refr01.putEnumerated(charIDToTypeID("Lyr "), charIDToTypeID("Ordn"), charIDToTypeID("Trgt"));
layerProperties.putReference(charIDToTypeID("null"), refr01);
layerProperties.putObject(charIDToTypeID("T "), charIDToTypeID("Lefx"), layerOptions);
try {
executeAction(charIDToTypeID("setd"), layerProperties, DialogModes.NO);
} catch(ex) {
if (ex != "Error: User cancelled the operation")
alert(scriptName + " newLayerEffect() exception caught? line[" + ex.line + "] " + ex);
}
Tôi không biết ý nghĩa chính xác của tất cả các dòng (nó chủ yếu là sao chép & dán), nhưng nó hoạt động :-) (chỉ thử nghiệm nó trên Photoshop CS5)
Yup, tài liệu của Adobe rất tệ. –
Haha, vâng, thậm chí không có bất kỳ manh mối nào về cách thiết lập các tùy chọn cho các kiểu lớp khác nhau (màu gradient, chiều rộng nét, vv). –
Tất cả những gì tôi muốn là copy/paste trái cho PS (ctr-ins/shift-in) và tôi đã nói rằng tôi sẽ phải viết kịch bản. Bắt đầu cuộc hành trình bực bội và từ bỏ. –