5

レイヤー化された SVG ファイルを Illustrator にロードすると、すべてのレイヤーが正常に機能しますが、常に新しいレイヤーの下に配置されます。指定しなかった「レイヤー1」。

トップレイヤーが Illustrator でもトップレイヤーになる SVG を作成するにはどうすればよいですか?

4

2 に答える 2

8
  1. 必要な構成のファイルを Illustrator で作成します。
  2. Illustrator から SVG を「a.svg」として保存します。
  3. Illustrator で SVG ファイルを再度開きます。
    ねえ、すべてのレイヤーがレイヤー 1 の下に再グループ化されました!
  4. 組織を修正します。
  5. 「Preserve Illustrator Editing Capabilities」オプションを「b.svg」としてチェックして、Illustrator から SVG を保存します。
  6. Illustrator で SVG ファイルを再度開きます。
    やった、レイヤーが保存されました!
  7. Diffa.svgb.svgIllustrator が保存している追加のメタデータを確認します。
  8. 独自のファイルでこのデータを模倣します。解決策が巨大な独自のブロブ (要素)
    であることに気付いたら泣く.<i:pgf>
  9. あきらめて、それほど重要ではないと判断してください。
于 2011-07-21T21:47:07.197 に答える
2

それは私にとって本当に重要なことなので、泣くのをやめ、数時間を費やして、この解決策をスクリプト化しました。

  • スクリプトをダウンロード: https://github.com/JcBernack/IllustratorScripts/archive/master.zip
  • 「Fix SVG Layers」フォルダーを標準の Illustrator スクリプト フォルダーに配置します。インストールと言語によって異なりますが、私の場所は
    C:\Program Files\Adobe\Adobe Illustrator CS6 (64 Bit)\Presets\de_DE\Skripten です。
  • Illustrator を起動し、すべての実際のレイヤーが新しい「レイヤー 1」内のグループになっている SVG をロードします。
  • [ファイル] -> [スクリプト] -> [SVG レイヤーを修正] -> [FixSvgLayers] に移動します。
  • わーい!すべてのグループが実際のレイヤーになり、「レイヤー 1」は永久になくなりました。

もう少し情報:

  • 「FixSvgLayers」は、「レイヤー 1」内のすべてのグループをレイヤーに戻し、それらをドキュメント ルートに移動し、空の「レイヤー 1」を削除します。
  • "GroupsToLayers" は、現在アクティブなレイヤー内のすべてのグループを、何も移動または削除せずにレイヤーに変換します。
  • どちらのスクリプトも、サブサブサブレイヤーに変換することによってグループ-グループ-グループのレベル数を指定する「再帰の深さ」を要求します。
  • 3 番目のスクリプト (ConvertGroupsIntoLayers) は他の 2 つのスクリプトで必要なだけで、メニューから呼び出すとプロンプトが開きますが、何もしません。

SVG を開くと、実際のレイヤーはすべて新しい「レイヤー 1」内のグループになります。これらはあいまいさなしに元に戻すことができます。ただし、実際のグループとサブレイヤーであるべきグループを区別する情報がないため、サブレイヤーには問題があります (ある場合はお知らせください!)。回避策として、私のスクリプトは再帰の深さを要求し、すべてのグループをその深さ内の (サブ) レイヤーに変換します。

私の場合、3 つのレイヤーがあり、そのうちの 1 つは、より多くのサブレイヤーの単なるコンテナーでした。元のレイヤー構造に戻すために、深さ 0 で FixSvgLayers を実行し、次にコンテナー レイヤーを選択して、深さ 0 で「GroupsToLayers」を実行しました。

3 つのレイヤすべてが「コンテナ」レイヤである場合、深度 1 で FixSvgLayers を実行するだけで、正しい構造を取得できます。

グループが不要で、すべてのグループを (サブ) レイヤーに変換する必要がある場合は、再帰の深さとして十分な数値を入力してください。

于 2014-10-21T02:53:38.687 に答える