Illustrator総合 16
何重にもグループ化されていると切りが無いですね 「グループ化を解除してください」アラートだと、手動で移動とかさせた方が早くてスクリプトを使う意味が無いし… スクリプトも複雑なことは出来ませんね なんとか出来ました 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] } } 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 } } } } } カタカナと漢字がある社名のタイプロゴつくるときってカタカナ90%くらいの水平比率にしてるんだけどみんなどう? ついつい癖で字間詰めてしまうけどある程度空いてるほうが抜け感あってまとまるよね 表組み作ろうとして四角並べたんですが 重なった部分のパスが2重になってしまいます 重ねたあとどちらか一方の線のみにするにはどうしたらいいですか? >>744 これダメなのかな? 四角の一部のみが消えるのか消えないのかやってみないとわかりませんが 【お試し】何重にも重なったパスを一つだけ残して他は削除するスクリプトです : GOROLIB DESIGN #はやさはちから http://gorolib.blog.jp/archives/64546711.html >>744 その四角を全部選択してガイドに変換してそのガイドに沿って線を引く 自分は二重になってても気にしないから 線幅の変更予定がなければやらないけど >>744 あと、これとか ONTHEHEAD|重複したアンカーポイントを削除するスクリプト https://onthehead.com/ais/path005/ >>744 四角並べるってとこから間違ってる 大外の四角を作って「オブジェクト/パス/グリッドに分割…」 古いバージョンだと段組設定って言ってたやつ 大外の四角書いて中に縦線横線を引くだけで均等に並べられるスクリプトあげたいけどなー いる? >>749 それが「オブジェクト/パス/グリッドに分割…」なんだけど…縦線横線を引く必要もないが スクリプトの紹介ありがとうございました >>748 それでつくっても四角が一つずつ動かせて四角並べてるのと同じものができました 理想はエクセルの枠線引いたセルみたいに伸縮自在で境界に線はひとつ、がいいです >>751 あれ段組設定の頃とは仕様が変わったのか? 勘違いだったのか じゃあ >>749 のスクリプトか、あるいは 1. 四角作って2つ複製 2. 一番下の四角をグリッドに分割…で分割した高さと間隔が等間隔になるようにして行だけ作る 3. 二番めの四角をグリッドに分割…で分割した幅と間隔が等間隔になるようにして列だけ作る 4. 外枠に重なる線だけを削除 5. 一番目の横線、二番目の縦線、上の外枠を選択してグループ で繋がった罫線だけの表ができる 一週間以上も前のレスになんだけど 1)縦線ひいて複製、横線ひいて複製で表を作る 2)全部選択してパスファインダー>アウトライン 枠が欲しいだけならこれでいけるんじゃないかな? 枠線が乗算とか半透明じゃないなら、 線なしの四角を間隔0で敷き詰めてから線を設定すればいいんじゃないの チラシ作ったけど家庭用プリンターで普通紙に印刷するとイメージが全く違うんだな モニターと全く違くて萎える キャリブレーション?っていうのをしないといけないとかなんとか。 あと安いモニタではダメとかなんとか よくわかんないっすけど 安モニタで完全な色合わせするのは無理だけど、OS機能の簡易キャリブレしてCMYKのデータ作るだけでもだいぶマシになるよ 最近はコンビニプリントがかなり良くなってるから、出力は自宅プリントよりそっちをおすすめ >>757 そういえばコンビニがあったか 試しに印刷してこよう 普通紙にインクジェットでちゃんと色が出る訳がない。 せめてスーパーファイン用紙を使えよ。 >>759 普通紙はコンビニで印刷しても無理ってことか 色が乗らないよな >>760 トナータイプのカラープリンタならかなり行けるかも。 環境Windows10で今月からサブスク登録したんだけど、 アクションオプションのカラーってどこに反映されるんだっけ? 古いイラレはツールパネルで色分け表示されてたような記憶が有るんだけど >>762 アクションパレットをボタンモードにすると反映される 通常モードでもカラーラベルとして使って欲しいよね ワークスペースのパネルって、高さの幅は固定出来無いんだっけ? ナビゲーターとかを小さく表示してるんだけど、いつの間にか1/3くらい場所取って、レイヤーパネルとかが潰されてて、 その都度縦幅直すのが面倒くさすぎる 分離すると、拡張モニター間でワークスペース丸ごと移動するとそのパネルが置いていかれるし win1 = new Window('dialog', "ガイド … 削除") win1.pnl = win1.add('panel') win1.pnl.orientation = "column" pg1 = win1.pnl.add('group') pg1.orientation = "row" rd11 = pg1.add('radiobutton', [0, 0, 430, 23], "ガイド … そのまま") rd12 = pg1.add('radiobutton', [0, 0, 430, 23], "ガイド … 削除") rd11.value = true スクリプトでラジオボタンを縦に並べるには、どう変更すればいいですか? このままだと横に並んでしまいます… win1 = new Window('dialog', "ガイド … 削除") win1.pnl = win1.add('panel') win1.pnl.orientation = "column" pg1 = win1.pnl.add('group') pg1.orientation = "column" rd11 = pg1.add('radiobutton', [0, 0, 430, 23], "ガイド … そのまま") rd12 = pg1.add('radiobutton', [0, 0, 430, 23], "ガイド … 削除") rd11.value = true 解決しました スクリプトのpageItemsって一階層目のオブジェクトしか指定出来無いのね グループのグループ…とか深く掘っていけば切りが無いので、「グループの一階層目まで対応」でスクリプトを作ることにしたら、かなり気が楽になったわ DOC = activeDocument; SEL = DOC.selection; LAY = DOC.activeLayer; MAINfn(); function MAINfn() { FRAME = LAY.pathItems.rectangle(-400, 400, 100, 100); FRAME.stroked = true; FRAME.strokeWidth = 10; FRAME.strokeColor = CMYKfn(0, 100, 100, 0); FRAME.move(SEL, ElementPlacement.PLACEATEND); } function CMYKfn(c, m, y, k) { COL = new CMYKColor(); COL.cyan = c; COL.magenta = m; COL.yellow = y; COL.black = k; return COL; } 動作テスト用のスクリプトを書いてみたのですが、 「FRAME.move(SEL, ElementPlacement.PLACEATEND);」の“SEL”の所がおかしいみたいでエラーが出ます。 SELをLAYに代えると正しく動作するのですが、それだと現在のレイヤーの最背面にFRAMEが移動してしまいます。 本当は現在選択されているアイテム(SEL)の最背面にFRAMEを移動させたいのですが、 どう訂正すればFRAMEを現在選択されているアイテム(SEL)の最背面に移動出来るでしょうか? >>768 解決したかもしれんけどFRAME.moveの1行を下の4行に置き換えてみて var frameOrder = FRAME.zOrderPosition; while ( frameOrder > SEL[0].zOrderPosition ) { FRAME.zOrder(ZOrderMethod.SENDBACKWARD); frameOrder -= 1; } >>769 ありがとうございます。 DOC = activeDocument; SEL = DOC.selection; LAY = DOC.activeLayer; MAINfn(); function MAINfn() { FRAME = LAY.pathItems.rectangle(-400, 400, 100, 100); FRAME.stroked = true; FRAME.strokeWidth = 10; FRAME.strokeColor = CMYKfn(0, 100, 100, 0); var frameOrder = FRAME.zOrderPosition; while (frameOrder > SEL[0].zOrderPosition) { FRAME.zOrder(ZOrderMethod.SENDBACKWARD); frameOrder -= 1; } } function CMYKfn(c, m, y, k) { COL = new CMYKColor(); COL.cyan = c; COL.magenta = m; COL.yellow = y; COL.black = k; return COL; } 実行しても赤枠の四角形が重なり順一番上のままなのですが、なぜでしょうか? すみません。出来ました。 DOC = activeDocument; SEL = DOC.selection; LAY = DOC.activeLayer; MAINfn(); function MAINfn() { FRAME = LAY.pathItems.rectangle(-400, 400, 100, 100); FRAME.stroked = true; FRAME.strokeWidth = 10; FRAME.strokeColor = CMYKfn(0, 100, 100, 0); var frameOrder = FRAME.zOrderPosition; i=SEL.length-1; while (frameOrder >= SEL[i].zOrderPosition) { FRAME.zOrder(ZOrderMethod.SENDBACKWARD); frameOrder -= 1; } } function CMYKfn(c, m, y, k) { COL = new CMYKColor(); COL.cyan = c; COL.magenta = m; COL.yellow = y; COL.black = k; return COL; } これで正しく動作しました。 ありがとうございます。良かったです。 アイテムの種類にNonNativeItemというのがあるのですが、これはどういうアイテムですか? 画像はRasterItemかPlacedItemですよね 6個の四角形を1つのグループにしています。 そしてこのスクリプトを実行すると 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(); } } } なぜか3個の四角形が削除されないで画面に残ってしまいます。 なぜでしょうか? どう書き換えれば全部の四角形(6個)を消すことが出来るでしょうか? (ちなみに3つの四角形を1つのグループにしてスクリプトを実行すると、1個残ってしまいます) 自己解決しました 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(); } } } SEL = activeDocument.selection; SEL[0].resize(50, 50, true, true, true, true, 100, Transformation.DOCUMENTORIGIN); これを実行すると、こういうエラーが出ます https://i.imgur.com/sr5FW6T.jpg DOCUMENTORIGINの箇所がダメなのかと思って、Transformation.CENTERにしても「Transformationは未定義です」と同じエラーが出ます。 SEL = activeDocument.selection; SEL[0].resize(50, 50, true, true, true, true, 100); とすると正しく実行されます。 なぜ「Transformation.DOCUMENTORIGIN」の箇所が使えないのでしょうか? 自己解決しました。 Adobe Extendscript Toolkit CCのバグでした。 イラレのスクリプトフォルダから実行すると、正常に動作しました。 ベクタのAI生成いいね 予想以上に品質高いのが出てくる アニメ大好きな日本人受けする絵がもっと出るようになってくれたら助かるんだけど、日本はパクリ絵師どもの声がデカすぎるから学習先がなー モックアップはただのStock販促だな… 契約しないとチュートリアルすらできないってどーなん >>780 パレットのはサンプルとして出てくるだけで普通の画像でもいけるよ photoshopで適当な箱でも生成して貼り付けたら面を認識してくれる なかなか面白い技術だと思う >>781 ありがとう、早合点してたわ 配置した画像とアートワークを選択肢してモックアップ作成選べばいいのね 最新バージョン、文字パネルの中のオプション押しての「文字揃え」消えてるよね?どこに行ったか分かる人いますか? 以前と変わらず段落パネルにあるし、プロパティパネルにも出てくるよ@v28.0 あ、縦方向の文字揃えは文字パネルメニューから これも以前と変わってないけど >>784 ありがとうございます。プロパティパネルでやりました でも解説ページを検索して出てくる、今まであった文字パネルのオプションをクリックした先にはやはり見当たらなくて@v28.0+Win10 でもクリック数多くて面倒に感じてもいたので今後はプロパティパネル使うようにします 頻繁に使うならショートカットキー(Ctrl+Shift+L/C/R/J/F)の方が手早いのでおすすめ Zipで頼むって言ったらでかいカートリッジで渡されそう read.cgi ver 07.5.1 2024/04/28 Walang Kapalit ★ | Donguri System Team 5ちゃんねる