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

发表新主题 回复
 
只看楼主 主题工具
旧 2024-06-03, 17:22     #1
wangzhidb wangzhidb 当前离线
正式会员
等级: 三袋长老
级别:18 | 在线时长:399小时 | 升级还需:38小时级别:18 | 在线时长:399小时 | 升级还需:38小时级别:18 | 在线时长:399小时 | 升级还需:38小时
 
Uid: 185140
注册日期: 2010-09-17, 13:16
帖子: 164
感谢: 23
15 个帖子获得 37 次感谢
现金: 221金币
资产: 221金币
声望: 10 wangzhidb 向着好的方向发展
wangzhidb wangzhidb 当前离线
正式会员
等级: 三袋长老
级别:18 | 在线时长:399小时 | 升级还需:38小时级别:18 | 在线时长:399小时 | 升级还需:38小时级别:18 | 在线时长:399小时 | 升级还需:38小时
 
Uid: 185140
注册日期: 2010-09-17, 13:16
帖子: 164
感谢: 23
15 个帖子获得 37 次感谢
现金: 221金币
资产: 221金币
声望: 10 wangzhidb 向着好的方向发展
默认 用GTP写的脚本 非模态窗口怎么改   



// 创建非模态窗口
var win = new Window("palette", "互换位置工具");
win.orientation = "column";
win.alignChildren = "fill";
用GPT 4.0写出来的也用不了
普通的窗口可以,找其他脚本的替换过来不知道怎么改

#target illustrator

// 创建窗口
var win = new Window("dialog", "交换对象属性");
win.orientation = "column";

function swapPositions() {
if (app.documents.length === 0) {
alert("没有打开的文档。");
return;
}

var doc = app.activeDocument;
if (doc.selection.length !== 2) {
alert("请选中两个对象。");
return;
}

var item1 = doc.selection[0];
var item2 = doc.selection[1];

// 获取两个对象的中心点
var center1 = item1.position;
center1[0] += item1.width / 2;
center1[1] -= item1.height / 2;

var center2 = item2.position;
center2[0] += item2.width / 2;
center2[1] -= item2.height / 2;

// 交换位置
item1.position = [center2[0] - item1.width / 2, center2[1] + item1.height / 2];
item2.position = [center1[0] - item2.width / 2, center1[1] + item2.height / 2];
}




var swapButton = win.add("button", undefined, "互换选中对象位置");
swapButton.onClick = function() {
swapPositions();
}

win.center();
win.show();
wangzhidb 当前离线   回复时引用此帖回复时引用此帖
旧 2024-06-03, 22:23   只看该作者   #2
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 次感谢
现金: 1499金币
资产: 4267金币
声望: 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 次感谢
现金: 1499金币
资产: 4267金币
声望: 13 aprking 向着好的方向发展
默认

swapButton.onClick = function() {
win.close();
swapPositions();
}

加一行关闭窗口就行了

dialog是模态对话框,如果要执行后续的代码,需先关闭这个对话框,否则就会出现模态对话框阻止用户与应用程序的其他部分进行交互,直到用户对对话框的响应完成为止。
__________________
ZXP版安装:
http://install.anastasiy.com
aprking 当前离线   回复时引用此帖回复时引用此帖
右列会员因为此帖价值甚高向 aprking 表示感谢:
wangzhidb (2024-06-04)
旧 2024-06-04, 08:27   只看该作者   #3
wangzhidb wangzhidb 当前离线
正式会员
等级: 三袋长老
级别:18 | 在线时长:399小时 | 升级还需:38小时级别:18 | 在线时长:399小时 | 升级还需:38小时级别:18 | 在线时长:399小时 | 升级还需:38小时
 
Uid: 185140
注册日期: 2010-09-17, 13:16
帖子: 164
感谢: 23
15 个帖子获得 37 次感谢
现金: 221金币
资产: 221金币
声望: 10 wangzhidb 向着好的方向发展
wangzhidb wangzhidb 当前离线
正式会员
等级: 三袋长老
级别:18 | 在线时长:399小时 | 升级还需:38小时级别:18 | 在线时长:399小时 | 升级还需:38小时级别:18 | 在线时长:399小时 | 升级还需:38小时
 
Uid: 185140
注册日期: 2010-09-17, 13:16
帖子: 164
感谢: 23
15 个帖子获得 37 次感谢
现金: 221金币
资产: 221金币
声望: 10 wangzhidb 向着好的方向发展
默认

引用:
作者: aprking 查看帖子
swapButton.onClick = function() {
win.close();
swapPositions();
}

加一行关闭窗口就行了

dialog是模态对话框,如果要执行后续的代码,需先关闭这个对话框,否则就会出现模态对话框阻止用户与应用程序的其他部分进行交互,直到用户对对话框的响应完成为止。
大佬辛苦了,这么晚还在。我试一下
wangzhidb 当前离线   回复时引用此帖回复时引用此帖
发表新主题 回复


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

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


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


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

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