【Adobe Premiere Pro脚本开发】如何从PPro项目中提取图像尺寸

main();

/*
    https://community.adobe.com/t5/premiere-pro/how-to-extract-image-dimensions-from-a-ppro-projectitem/td-p/12000680
    如何从PPro项目中提取图像尺寸
    */
 function main(){
var kPProPrivateProjectMetadataURI	= "http://ns.adobe.com/premierePrivateProjectMetaData/1.0/";

if (ExternalObject.AdobeXMPScript === undefined) {
	ExternalObject.AdobeXMPScript = new ExternalObject('lib:AdobeXMPScript');
}

var firstItemInProject = app.project.rootItem.children[0];  // make sure first item is media.

if (firstItemInProject) {
    var projectMetadata = firstItemInProject.getProjectMetadata();
	if (projectMetadata) {
		var projectMetadataAsXMP = new XMPMeta(projectMetadata);
		if (projectMetadataAsXMP) {
			var dimensionsFieldName = "Column.Intrinsic.VideoInfo";
			var dimensionsInfo = projectMetadataAsXMP.getProperty(kPProPrivateProjectMetadataURI, dimensionsFieldName);
			if (dimensionsInfo) {
				var widthArray 		= [];
				var heightArray		= [];
				var dimensionsVal 	= dimensionsInfo.value;
				
				var widthEndPos 	= dimensionsVal.indexOf(" ");
				var heightStartPos	= (dimensionsVal.indexOf("x") + 2);
				var heightEndPos 	= dimensionsVal.indexOf("(") - 1;
				
				for (var a = 0; a < widthEndPos; a++) {
					widthArray[a] = dimensionsVal[a];
				}

				for (var b = 0; b < (heightEndPos - heightStartPos); b++) {
					heightArray[b] = dimensionsVal[b + heightStartPos]; // offset to start of height, within source dimension value.
				}

				var widthAsString	= widthArray.join("");	// turn the array into a string, with no separator characters
				var heightAsString	= heightArray.join("");
				
				var width = parseInt(widthAsString);		// turn the string into an int.
				var height = parseInt(heightAsString);

			}
		}
	}
}


}

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值