【photoshop Action Manager】对象反射属性方法

如何获取对象的属性和方法,可以通过反射接口

比如:获取layer对象的属性和方法:

function reflectProps(obj) {
    var props = obj.reflect.properties;
  
for (var i = 0, len = props.length; i < len; i++) {
        try {
            $.writeln(props[i].name + ' = ' + obj[props[i].name]);
              WriteData(props[i].name + ' = ' + obj[props[i].name])
        } catch (e) {}
    }
}

function reflectMeths(obj) {
    var meths = obj.reflect.methods;
    for (var i = 0, len = meths.length; i < len; i++) {
        try {
            $.writeln(meths[i].name + '();');
            WriteData(meths[i].name + '();')
        } catch (e) {}
    }
}
function WriteData(Txt)
{  
	var file = new File(Folder.desktop + "/rflection.txt");  
	 file.open("a", "TEXT",null);  
      file.encoding = "UTF8";  
 	file.seek(0,2);  
 	$.os.search(/windows/i)  != -1 ? file.lineFeed = 'windows'  : file.lineFeed = 'macintosh';  
	file.writeln(Txt);  
	file.close();  
} 
// Example of use:
   //     var r = new ActionReference();  
   //      var d = new ActionDescriptor();  	 
	//	r.putEnumerated(stringIDToTypeID("layer"), stringIDToTypeID("ordinal"), stringIDToTypeID("targetEnum")); 
     //     d.putReference(charIDToTypeID('null'), r);   
     //   var options = executeAction(charIDToTypeID( "getd" ), d, DialogModes.NO);
        //app.activeDocument.activeLayer
        
 var lay =app.activeDocument.activeLayer
 WriteData("\n***************"+"["+lay.constructor.name+" ]"+" properties **********************\n")
 reflectProps(lay);
 WriteData("\n***************"+"["+lay.constructor.name+" ]"+"  methods **********************\n")
  reflectMeths(lay);


***************[ArtLayer ] properties **********************

fillOpacity = 100
grouped = false
isBackgroundLayer = true
pixelsLocked = false
positionLocked = true
transparentPixelsLocked = true
kind = LayerKind.NORMAL
typename = ArtLayer
name = 背景
allLocked = false
blendMode = BlendMode.NORMAL
linkedLayers = 
opacity = 100
visible = true
id = 1
itemIndex = 1
bounds = 0 px,0 px,800 px,600 px
boundsNoEffects = 0 px,0 px,800 px,600 px
xmpMetadata = [XMP Metadata]
parent = [Document 未标题-1]
__proto__ = [object Object]

***************[ArtLayer ]  methods **********************

applyStyle();
applyStyleFile();
saveStyleFile();
clear();
copy();
cut();
merge();
rasterize();
applyAverage();
applyGaussianBlur();
applyLensBlur();
applyBlur();
applyBlurMore();
applyMotionBlur();
applyRadialBlur();
applySmartBlur();
applyDiffuseGlow();
applyDisplace();
applyGlassEffect();
applyOceanRipple();
applyPinch();
applyPolarCoordinates();
applyRipple();
applyShear();
applySpherize();
applyTwirl();
applyWave();
applyZigZag();
applyAddNoise();
applyDespeckle();
applyDustAndScratches();
applyMedianNoise();
applyClouds();
applyDifferenceClouds();
applyLensFlare();
applyTextureFill();
applySharpen();
applySharpenEdges();
applySharpenMore();
applyUnSharpMask();
applyDeInterlace();
applyNTSC();
applyCustomFilter();
applyHighPass();
applyMaximum();
applyMinimum();
applyOffset();
adjustLevels();
autoLevels();
autoContrast();
adjustCurves();
adjustBrightnessContrast();
adjustColorBalance();
desaturate();
selectiveColor();
mixChannels();
invert();
equalize();
threshold();
posterize();
photoFilter();
shadowHighlight();
unlink();
link();
translate();
rotate();
resize();
duplicate();
move();
remove();
 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值