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

发表新主题 关闭主题
 
只看楼主 主题工具
旧 2023-12-15, 18:24     #1
yzx0120 yzx0120 当前离线
正式会员
等级: 四袋长老
级别:43 | 在线时长:2021小时 | 升级还需:91小时级别:43 | 在线时长:2021小时 | 升级还需:91小时级别:43 | 在线时长:2021小时 | 升级还需:91小时级别:43 | 在线时长:2021小时 | 升级还需:91小时级别:43 | 在线时长:2021小时 | 升级还需:91小时级别:43 | 在线时长:2021小时 | 升级还需:91小时级别:43 | 在线时长:2021小时 | 升级还需:91小时
 
Uid: 539522
注册日期: 2016-10-23, 14:13
年龄: 39
帖子: 352
感谢: 146
11 个帖子获得 17 次感谢
现金: 103金币
资产: 109金币
声望: 10 yzx0120 向着好的方向发展
yzx0120 yzx0120 当前离线
正式会员
等级: 四袋长老
级别:43 | 在线时长:2021小时 | 升级还需:91小时级别:43 | 在线时长:2021小时 | 升级还需:91小时级别:43 | 在线时长:2021小时 | 升级还需:91小时级别:43 | 在线时长:2021小时 | 升级还需:91小时级别:43 | 在线时长:2021小时 | 升级还需:91小时级别:43 | 在线时长:2021小时 | 升级还需:91小时级别:43 | 在线时长:2021小时 | 升级还需:91小时
 
Uid: 539522
注册日期: 2016-10-23, 14:13
年龄: 39
帖子: 352
感谢: 146
11 个帖子获得 17 次感谢
现金: 103金币
资产: 109金币
声望: 10 yzx0120 向着好的方向发展
默认 大神,帮忙看一下,这个选择0距离复制,有一点间距,要怎么解决了   



大神,帮忙看一下,这个选择0距离复制,有一点间距,要怎么解决了

#target illustrator
var myDoc = app.activeDocument;
var theSelect = myDoc.selection;
var pt=72/25.4;
lmin=theSelect[0].geometricBounds[0];
tmax=theSelect[0].geometricBounds[1];
lmax=theSelect[0].geometricBounds[2];
tmin=theSelect[0].geometricBounds[3];
for (i=1;i<theSelect.length;i++){
if (lmin>theSelect[i].geometricBounds[0]){lmin=theSelect[i].geometricBounds[0]}
if (tmax<theSelect[i].geometricBounds[1]){tmax=theSelect[i].geometricBounds[1]}
if (lmax<theSelect[i].geometricBounds[2]){lmax=theSelect[i].geometricBounds[2]}
if (tmin>theSelect[i].geometricBounds[3]){tmin=theSelect[i].geometricBounds[3]}
}
var m1=lmin;
var n1=tmax;
var m2=lmax;
var n2=tmin;
var b=Math.round(parseInt((m2-m1)/pt * 100)/100);
var s=Math.round(parseInt((n1-n2)/pt * 100)/100);
if(theSelect.length == 0){alert('请选取对象再运行脚本')}
else{
for(var i=theSelect.length-1; i>=0; i--){
var selTem=theSelect[i].duplicate (theSelect[i], ElementPlacement.PLACEBEFORE);
selTem.translate((b*pt),0);
theSelect[i].selected=false;
}}
上传的图像
文件类型: png 0000000000.png (10.5 KB, 8 次查看)
yzx0120 当前离线  
旧 2023-12-15, 19:32   只看该作者   #2
姜椒蒜 姜椒蒜 当前在线
中级会员
等级: 七袋长老
级别:83 | 在线时长:7339小时 | 升级还需:53小时级别:83 | 在线时长:7339小时 | 升级还需:53小时级别:83 | 在线时长:7339小时 | 升级还需:53小时级别:83 | 在线时长:7339小时 | 升级还需:53小时级别:83 | 在线时长:7339小时 | 升级还需:53小时级别:83 | 在线时长:7339小时 | 升级还需:53小时级别:83 | 在线时长:7339小时 | 升级还需:53小时级别:83 | 在线时长:7339小时 | 升级还需:53小时
 
Uid: 699927
注册日期: 2020-12-20, 15:13
帖子: 3687
感谢: 658
337 个帖子获得 402 次感谢
现金: 34金币
资产: 7234金币
声望: 10 姜椒蒜 向着好的方向发展
姜椒蒜 姜椒蒜 当前在线
中级会员
等级: 七袋长老
级别:83 | 在线时长:7339小时 | 升级还需:53小时级别:83 | 在线时长:7339小时 | 升级还需:53小时级别:83 | 在线时长:7339小时 | 升级还需:53小时级别:83 | 在线时长:7339小时 | 升级还需:53小时级别:83 | 在线时长:7339小时 | 升级还需:53小时级别:83 | 在线时长:7339小时 | 升级还需:53小时级别:83 | 在线时长:7339小时 | 升级还需:53小时级别:83 | 在线时长:7339小时 | 升级还需:53小时
 
Uid: 699927
注册日期: 2020-12-20, 15:13
帖子: 3687
感谢: 658
337 个帖子获得 402 次感谢
现金: 34金币
资产: 7234金币
声望: 10 姜椒蒜 向着好的方向发展
默认

会不会是Math.round的原因?没测试,只是看了下,怀疑
姜椒蒜 当前在线  
右列会员因为此帖价值甚高向 姜椒蒜 表示感谢:
yzx0120 (2023-12-16)
旧 2023-12-15, 22:42   只看该作者   #3
木棉树下 木棉树下 当前离线
正式会员
等级: 六袋长老
级别:90 | 在线时长:8528小时 | 升级还需:117小时级别:90 | 在线时长:8528小时 | 升级还需:117小时级别:90 | 在线时长:8528小时 | 升级还需:117小时级别:90 | 在线时长:8528小时 | 升级还需:117小时级别:90 | 在线时长:8528小时 | 升级还需:117小时级别:90 | 在线时长:8528小时 | 升级还需:117小时级别:90 | 在线时长:8528小时 | 升级还需:117小时级别:90 | 在线时长:8528小时 | 升级还需:117小时级别:90 | 在线时长:8528小时 | 升级还需:117小时
 
Uid: 183469
注册日期: 2010-09-07, 10:51
帖子: 1876
感谢: 314
210 个帖子获得 302 次感谢
现金: 544金币
资产: 1344金币
声望: 10 木棉树下 向着好的方向发展
木棉树下 木棉树下 当前离线
正式会员
等级: 六袋长老
级别:90 | 在线时长:8528小时 | 升级还需:117小时级别:90 | 在线时长:8528小时 | 升级还需:117小时级别:90 | 在线时长:8528小时 | 升级还需:117小时级别:90 | 在线时长:8528小时 | 升级还需:117小时级别:90 | 在线时长:8528小时 | 升级还需:117小时级别:90 | 在线时长:8528小时 | 升级还需:117小时级别:90 | 在线时长:8528小时 | 升级还需:117小时级别:90 | 在线时长:8528小时 | 升级还需:117小时级别:90 | 在线时长:8528小时 | 升级还需:117小时
 
Uid: 183469
注册日期: 2010-09-07, 10:51
帖子: 1876
感谢: 314
210 个帖子获得 302 次感谢
现金: 544金币
资产: 1344金币
声望: 10 木棉树下 向着好的方向发展
默认

直接用selTem.translate(m2-m1,0),单位转换来转换去,不知道在干嘛
木棉树下 当前离线  
右列会员因为此帖价值甚高向 木棉树下 表示感谢:
yzx0120 (2023-12-16)
旧 2023-12-15, 23:53   只看该作者   #4
aprking aprking 当前离线
中级会员
等级: 六袋长老
级别:68 | 在线时长:4997小时 | 升级还需:40小时级别:68 | 在线时长:4997小时 | 升级还需:40小时级别:68 | 在线时长:4997小时 | 升级还需:40小时级别:68 | 在线时长:4997小时 | 升级还需:40小时级别:68 | 在线时长:4997小时 | 升级还需:40小时
 
Uid: 4007
注册日期: 2005-07-24, 00:28
来自: adderss
帖子: 1788
感谢: 120
256 个帖子获得 509 次感谢
现金: 1475金币
资产: 4243金币
声望: 13 aprking 向着好的方向发展
aprking aprking 当前离线
中级会员
等级: 六袋长老
级别:68 | 在线时长:4997小时 | 升级还需:40小时级别:68 | 在线时长:4997小时 | 升级还需:40小时级别:68 | 在线时长:4997小时 | 升级还需:40小时级别:68 | 在线时长:4997小时 | 升级还需:40小时级别:68 | 在线时长:4997小时 | 升级还需:40小时
 
Uid: 4007
注册日期: 2005-07-24, 00:28
来自: adderss
帖子: 1788
感谢: 120
256 个帖子获得 509 次感谢
现金: 1475金币
资产: 4243金币
声望: 13 aprking 向着好的方向发展
默认

如三楼所说,楼猪把最简单的事搞得太复杂了。
这是opanai给的代码,简单直接。
代码:
#target illustrator

// 检查是否有文档打开
if (app.documents.length > 0) {
  var doc = app.activeDocument;
  
  // 检查是否有对象被选中
  if (doc.selection.length > 0) {
    var selectedObject = doc.selection[0];
    
    // 获取对象的宽度
    var width = selectedObject.width;
    
    // 创建对象的副本并平移
    var duplicatedObject = selectedObject.duplicate();
    duplicatedObject.translate(width, 0);
    
    alert("已向右平移并复制对象");
  } else {
    alert("请先选择一个对象");
  }
} else {
  alert("请先打开一个文档");
}
Illustrator脚本的默认单位是pt,在编制脚本时,非得必要不转换单位,最好是最张望的结果显示给看看而已,脚本是不需要转换成mm或cm什么的。

另外,这只是个范例,获得准确的尺寸不是那么简单,移动对象更不是那么简单,resize缩放尺寸在illustrator的脚本中更是无解难题,玩玩可以,不经过几十上百遍地测试,直接用于工作,facebook.......
__________________
ZXP版安装:
http://install.anastasiy.com
aprking 当前离线  
右列会员因为此帖价值甚高向 aprking 表示感谢:
yzx0120 (2023-12-16)
发表新主题 关闭主题


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

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


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


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

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