◆- Adobe插件与脚本区 主要讨论Adobe插件开发与软件脚本撰写

发表新主题 回复
 
查看全部 主题工具
旧 2024-11-16, 16:40     #1
meizunwl meizunwl 当前离线
正式会员
等级: 一袋长老
级别:7 | 在线时长:92小时 | 升级还需:4小时级别:7 | 在线时长:92小时 | 升级还需:4小时级别:7 | 在线时长:92小时 | 升级还需:4小时级别:7 | 在线时长:92小时 | 升级还需:4小时
 
Uid: 734026
注册日期: 2024-04-25, 15:15
帖子: 38
感谢: 1
2 个帖子获得 3 次感谢
现金: 51金币
资产: 51金币
声望: 10 meizunwl 向着好的方向发展
meizunwl meizunwl 当前离线
正式会员
等级: 一袋长老
级别:7 | 在线时长:92小时 | 升级还需:4小时级别:7 | 在线时长:92小时 | 升级还需:4小时级别:7 | 在线时长:92小时 | 升级还需:4小时级别:7 | 在线时长:92小时 | 升级还需:4小时
 
Uid: 734026
注册日期: 2024-04-25, 15:15
帖子: 38
感谢: 1
2 个帖子获得 3 次感谢
现金: 51金币
资产: 51金币
声望: 10 meizunwl 向着好的方向发展
问题 大神们,谁能帮忙把这个脚本单位改成毫米(mm)   



if (app.selection.length === 0) {
alert("未选择对象!");
} else{
app.executeMenuCommand("copy");
var newDoc = app.documents.add();
newDoc.activate();
app.executeMenuCommand("paste");
var artboard = newDoc.artboards[0];
artboard.artboardRect = newDoc.visibleBounds;
}
var SELECTION=activeDocument.selection
//var LeftX=TopY=RightX=BottomY=undefined;
if(SELECTION.length>0){
var VIEW=app.activeDocument.activeView;
var zoom=VIEW.zoom
//centerPoint=app.activeDocument.activeView.centerPoint
VIEW.zoom=1;
var bounds=VIEW.bounds;
var ViewW=bounds[2]-bounds[0];
var ViewH=bounds[1]-bounds[3];
VIEW.zoom=zoom;
if(LeftX){LeftX=undefined;};
if(TopY){TopY=undefined;};
if(RightX){RightX=undefined;};
if(BottomY){BottomY=undefined;};
for(var num=0;num<SELECTION.length;num++){
var SELECTED=SELECTION[num].geometricBounds;
var LeftX=(LeftX==undefined)?SELECTED[0]:((LeftX<SELECTED[0])?LeftX:SELECTED[0]);
var TopY=(TopY==undefined)?SELECTED[1]:((TopY>SELECTED[1])?TopY:SELECTED[1]);
var RightX=(RightX==undefined)?SELECTED[2]:((RightX>SELECTED[2])?RightX:SELECTED[2]);
var BottomY=(BottomY==undefined)?SELECTED[3]:((BottomY<SELECTED[3])?BottomY:SELECTED[3]);
};
var WidthX=RightX-LeftX;
var HeightY=TopY-BottomY;
var CenterX=(RightX+LeftX)/2;
var CenterY=(TopY+BottomY)/2;

var Zoom=(ViewW/ViewH<WidthX/HeightY)?ViewW/WidthX:ViewH/HeightY;
VIEW.zoom=Zoom*0.9;
VIEW.centerPoint=[CenterX,CenterY];
};
//$.writeln (SELECTION.length)
meizunwl 当前离线   回复时引用此帖回复时引用此帖
旧 2024-11-16, 19:06     #2
meizunwl meizunwl 当前离线
正式会员
等级: 一袋长老
级别:7 | 在线时长:92小时 | 升级还需:4小时级别:7 | 在线时长:92小时 | 升级还需:4小时级别:7 | 在线时长:92小时 | 升级还需:4小时级别:7 | 在线时长:92小时 | 升级还需:4小时
 
Uid: 734026
注册日期: 2024-04-25, 15:15
帖子: 38
感谢: 1
2 个帖子获得 3 次感谢
现金: 51金币
资产: 51金币
声望: 10 meizunwl 向着好的方向发展
meizunwl meizunwl 当前离线
正式会员
等级: 一袋长老
级别:7 | 在线时长:92小时 | 升级还需:4小时级别:7 | 在线时长:92小时 | 升级还需:4小时级别:7 | 在线时长:92小时 | 升级还需:4小时级别:7 | 在线时长:92小时 | 升级还需:4小时
 
Uid: 734026
注册日期: 2024-04-25, 15:15
帖子: 38
感谢: 1
2 个帖子获得 3 次感谢
现金: 51金币
资产: 51金币
声望: 10 meizunwl 向着好的方向发展
默认 提取出来常规单位还是PT,主要的就是改常规单位为MM

引用:
作者: cpclgw 查看帖子
我在AI中执行你原来的代码,查看线条是单位就是mm.

请用这个AI修改的代码测试看看:

if (app.selection.length === 0) {
alert("未选择对象!");
} else {
app.executeMenuCommand("copy");
var newDoc = app.documents.add();
newDoc.activate();
app.executeMenuCommand("paste");
var artboard = newDoc.artboards[0];
ar...

提取出来常规单位还是PT,主要的就是改常规单位为MM
上传的图像
文件类型: png 微信图片_20241116190534.png (46.7 KB, 52 次查看)
meizunwl 当前离线   回复时引用此帖回复时引用此帖
旧 2024-11-17, 14:13     #3
meizunwl meizunwl 当前离线
正式会员
等级: 一袋长老
级别:7 | 在线时长:92小时 | 升级还需:4小时级别:7 | 在线时长:92小时 | 升级还需:4小时级别:7 | 在线时长:92小时 | 升级还需:4小时级别:7 | 在线时长:92小时 | 升级还需:4小时
 
Uid: 734026
注册日期: 2024-04-25, 15:15
帖子: 38
感谢: 1
2 个帖子获得 3 次感谢
现金: 51金币
资产: 51金币
声望: 10 meizunwl 向着好的方向发展
meizunwl meizunwl 当前离线
正式会员
等级: 一袋长老
级别:7 | 在线时长:92小时 | 升级还需:4小时级别:7 | 在线时长:92小时 | 升级还需:4小时级别:7 | 在线时长:92小时 | 升级还需:4小时级别:7 | 在线时长:92小时 | 升级还需:4小时
 
Uid: 734026
注册日期: 2024-04-25, 15:15
帖子: 38
感谢: 1
2 个帖子获得 3 次感谢
现金: 51金币
资产: 51金币
声望: 10 meizunwl 向着好的方向发展
默认 直接替换那段也不行,命令错误,可能是我不会操作

引用:
作者: braintrust2004 查看帖子
AI 默认使用的是点 (points) 作为单位。1 点等于 1/72 英寸,如果需要将其改为毫米 (mm),你需要在计算时进行单位转换。关键修改是处理与几何边界 (geometricBounds) 和视图边界 (VIEW.bounds) 的值。1 点 (points) ≈ 0.352778 毫米, 因此,所有涉及到的坐标值需要乘以 0.352778。也就是楼上的0.3527777778。所以可以把你代码中var SELECTED = SELECTION[num].geometricBounds;改成var SELECTED = SELECTION[num].geometricBounds.m...

直接替换那段也不行,命令错误,可能是我不会操作
meizunwl 当前离线   回复时引用此帖回复时引用此帖
发表新主题 回复


发帖规则
不可以发表主题
不可以回复帖子
不可以上传附件
不可以编辑自己的帖子

论坛启用 vB 代码
论坛启用 表情图标
论坛启用 [IMG] 代码
论坛禁用 HTML 代码


律师声明:本站内容,均具有版权,未经书面授权,禁止转载,严禁镜像,违者承担一切后果!
论坛广告报价   广告联系及办理企业会员服务QQ:57880388 站务管理QQ:35529388


所有时间均为 +8, 现在的时间是 2025-01-04 14:47.

Powered by vBulletin® Version 3.8.12 by vBS
Copyright ©2000 - 2025, vBulletin Solutions, Inc.
 
Copyright © 2004-2022