- 精华
- 活跃值
-
- 积分
- 13718
- 违规
-
- 印币
-
- 鲜花值
-
- 在线时间
- 小时
累计签到:1102 天 连续签到:9 天
|
// 获取当前文档和所选内容
var doc = app.activeDocument;
var selection = doc.selection;
// 获取当前文档的单位
var originalUnits = doc.rulerUnits;
// 设置文档单位为像素
doc.rulerUnits = 0; // 0 表示像素
// 获取所选内容的边界框(包括描边宽度)
var bounds = getBounds(selection);
// 将边界框宽度和高度转换为毫米单位,并精确到第四位小数
var width = pixelsToUnits(bounds[2] - bounds[0], "mm").toFixed(4);
var height = pixelsToUnits(bounds[1] - bounds[3], "mm").toFixed(4);
// 将宽度和高度复制到剪贴板
var formattedWidth = width.toString().replace(/(\.\d+?)0+$/, "$1");
var formattedHeight = height.toString().replace(/(\.\d+?)0+$/, "$1");
var formattedWidth = formattedWidth.replace(" cm", "");
var formattedHeight = formattedHeight.replace(" cm", "");
var clipboardText = "宽度: " + formattedWidth + "\n\n" + "高度: " + formattedHeight;
copyTextToClipboard(clipboardText);
// 还原原始的文档单位
doc.rulerUnits = originalUnits;
// 获取所选内容的边界框(不包括描边宽度)
function getBounds(selection) {
var bounds = selection[0].geometricBounds;
for (var i = 1; i < selection.length; i++) {
var objBounds = selection[i].geometricBounds;
bounds[0] = Math.min(bounds[0], objBounds[0]);
bounds[1] = Math.max(bounds[1], objBounds[1]);
bounds[2] = Math.max(bounds[2], objBounds[2]);
bounds[3] = Math.min(bounds[3], objBounds[3]);
}
return bounds;
}
// 将像素值转换为指定单位的值
function pixelsToUnits(value, unit) {
var conversionFactor = 0.035277778; // 1 像素 = 0.035277778 厘米
return value * conversionFactor;
}
// 复制文本到剪贴板的函数
function copyTextToClipboard(text) {
try {
var textFile = new File(Folder.temp + "/clipboard.txt");
textFile.open("w");
textFile.write(text);
textFile.close();
textFile.execute();
} catch (e) {
alert("无法将文本复制到剪贴板。");
}
}
复制所选内容的尺寸 如何选择剪切蒙版后的尺寸,而不是包括选择蒙版内的尺寸
|
|