こういうのをWindowsで作るのって何の言語で作ればいいんでしょうか? SPAiはXojo(REAL basic)っていうので作ってるらしいのですが… WindowsだとVB.Net(Visual Basic)? プラグインなんかを作るIllustrator SDKはC++の開発キットだけど、C++はちょっと敷居が高すぎて… IllustratorもPhotoshopもC++で出来てるし、本職のプログラマではないから w 0734名無しさん@お腹いっぱい。2023/01/07(土) 21:48:34.02ID:svjoJhEp それをやるのは技術的にもう本職の領域だし、自力で全部調べる気概がないなら挫折すると思う Sppyの作者に要望を投げた方がいいんじゃないかな 0735名無しさん@お腹いっぱい。2023/01/07(土) 22:30:11.10ID:mOVlVKay SppyってAutoHotkeyってアプリで出来てるらしくて、プログラム言語というよりキー設定が出来るアプリの付属機能で出来てる感じらしかったので(スクリプト?)、自分で作ってみたいと思いました REAL Basicみたいなのを触ってみたいんですよ Illustratorのスクリプトを作ってたけど、作りたい機能のネタが無くなって来たので 0736名無しさん@お腹いっぱい。2023/01/15(日) 15:43:54.00ID:pJTl+8iQ function mainfn() {
var xmin = 99999; var xmax = -99999; var yminre = 99999; var ymaxre = -99999;
for (j = 0; j < SEL.length; j++) { var OBJ = SEL[j]; var aPoints = OBJ.pathPoints;
for (i = 0; i < aPoints.length; i++) { if (aPoints[i].selected == PathPointSelection.ANCHORPOINT) { var ANCHOR = aPoints[i].anchor; var x = ANCHOR[0]; if (x < xmin) { xmin = x } if (x > xmax) { xmax = x } y = ANCHOR[1]; if (y < ymin) { ymin = y } if (y > ymax) { ymax = y } } } } } 0737名無しさん@お腹いっぱい。2023/01/15(日) 15:47:12.28ID:pJTl+8iQ 選択したアンカーポイントのx座標の最小値・最大値、y座標の最小値・最大値を得るコードなのですが、 選択したアンカーポイントがグループや複合パスになっているとエラーが出ます。 どう直せばグループや複合パスになっていてもエラーが出なくなるでしょうか? (選択したアンカーポイントがグループや複合パスになっていなければ正常に動作します) 0738名無しさん@お腹いっぱい。2023/01/15(日) 15:58:07.99ID:pJTl+8iQ SEL = activeDocument.selection ;
function mainfn() { var SEL = activeDocument.selection; var xmin = 99999; var xmax = -99999; var ymin = -99999; var ymax = 99999;
for (j = 0; j < SEL.length; j++) { if (SEL[j].typename == "GroupItem") { BND = SEL[j].geometricBounds; if (BND[0] < xmin) { xmin = BND[0] } if (BND[2] > xmax) { xmax = BND[2] } if (BND[1] > ymin) { ymin = BND[1] } if (BND[3] < ymax) { ymax = BND[3] } 0742名無しさん@お腹いっぱい。2023/01/15(日) 19:32:06.89ID:pJTl+8iQ } else { var OBJ = SEL[j]; var aPoints = OBJ.pathPoints;
for (i = 0; i < aPoints.length; i++) { if (aPoints[i].selected == PathPointSelection.ANCHORPOINT) { var ANCHOR = aPoints[i].anchor; var x = ANCHOR[0]; if (x < xmin) { xmin = x } if (x > xmax) { xmax = x } y = ANCHOR[1]; if (y > ymin) { ymin = y } if (y < ymax) { ymax = y } } } } } 0743名無しさん@お腹いっぱい。2023/01/22(日) 18:39:40.24ID:2pcFQU8i カタカナと漢字がある社名のタイプロゴつくるときってカタカナ90%くらいの水平比率にしてるんだけどみんなどう? ついつい癖で字間詰めてしまうけどある程度空いてるほうが抜け感あってまとまるよね 0744名無しさん@お腹いっぱい。2023/01/31(火) 17:29:02.83ID:7Zu1pMOK 表組み作ろうとして四角並べたんですが 重なった部分のパスが2重になってしまいます 重ねたあとどちらか一方の線のみにするにはどうしたらいいですか? 0745名無しさん@お腹いっぱい。2023/01/31(火) 17:39:34.84ID:T6SIRkRV>>744 これダメなのかな? 四角の一部のみが消えるのか消えないのかやってみないとわかりませんが
SEL = activeDocument.selection; for (s = 0; s < SEL.length; s++) { if (SEL[s].typename == "GroupItem") { for (i = 0; i < SEL[s].pageItems.length; i++) { SEL[s].pageItems[i].remove(); } } }
SEL = activeDocument.selection; for (s = 0; s < SEL.length; s++) { if (SEL[s].typename == "GroupItem") { for (i = SEL[s].pageItems.length - 1; i < SEL[s].pageItems.length; i--) { if (i < 0) { break; } SEL[s].pageItems[i].remove(); } } } 0775名無しさん@お腹いっぱい。2023/06/19(月) 20:38:37.81ID:UBcYXl8x SEL = activeDocument.selection; SEL[0].resize(50, 50, true, true, true, true, 100, Transformation.DOCUMENTORIGIN);