2021.07.24

Photoshop・Illustrator

Photoshopのスマートオブジェクトのsvgコードを取得

PhotoshopのスマートオブジェクトはPhotoshopからではsvgのコードが取得できません。シェイプであればシェイプレイヤーを右クリックし「SVGをコピー」でsvgのコードが取得できますが、スマートオブジェクトはレイヤーを右クリックしても「SVGをコピー」のメニューは表示されません。また、スマートオブジェクトをsvgファイルとして書き出しても画像ファイルになってしまい、同様にsvgのコードが取得できません。

そこで、スマートオブジェクトが拡張子「.ai」の「埋め込みスマートオブジェクト」であれば、いったん「リンクされたスマートオブジェクト」に変換します。スマートオブジェクトのレイヤーを右クリックして「リンクされたアイテムに変換」、または属性パネルの「リンクされたアイテムに変換」をクリックし、スマートオブジェクトをaiファイルとして保存します。

保存したaiファイルをIllustratorで開き、svgファイルを書き出します。このsvgファイルをエディタで開けばsvgのコードが取得できます。

なお「リンクされたスマートオブジェクト」は、リンク先のaiファイルを移動したりリネームしたりするとPhotoshop側から参照できなくなってしまいます。そこでスマートオブジェクトのレイヤーを右クリックして「リンクされたアイテムの埋め込み」、または属性パネルの「埋め込み」をクリックして、「リンクされたスマートオブジェクト」を「埋め込みスマートオブジェクト」に戻しておきます。

次に、スマートオブジェクトが拡張子「.psb」の「埋め込みスマートオブジェクト」の場合です。拡張子「.psb」のファイルはそのままPhotoshopで開けます。そこで、スマートオブジェクトのレイヤーを右クリックして「コンテンツを編集」、または属性パネルの「コンテンツを編集」をクリックし、スマートオブジェクトをPhotoshopで開きます。

開いたスマートオブジェクトの元データがシェイプであれば、シェイプレイヤーを右クリックし「SVGをコピー」でsvgのコードが取得できます。ただしシェイプのレイヤーにレイヤー効果が適用されている場合は、レイヤー効果を含んだsvgのコードになります。レイヤー効果が必要ない場合は、レイヤー効果を削除してからsvgのコードを取得します。

関連記事

Illustratorの画像書き出しで画像サイズが1px大きくなる場合の対処法

Illustratorのスクリーン用に書き出しでアートボードを書き出しする場合、書き出した画像のサイズがアートボードのサイズよりも1px大きくなる場合があります…

IllustratorからPhotoshopへデータを配置

Illustratorで作成したデータをコピーして、Photoshopにペーストします。ペースト形式を選択する画面が表示されるので「スマートオブジェクト」を選び…

Photoshopで同じレイヤー効果を複数使用

Photoshopのレイヤー効果の中で、「境界線」「シャドウ(内側)」「カラーオバーレイ」「グラデーションオーバーレイ」「ドロップシャドウ」は同じ効果を複数使用…

Photoshopのパス選択ツールでクリッピングマスクのシェイプを変形

Photoshopのパス選択ツールでクリッピングマスクに利用されているシェイプを変形します。パス選択ツールはパスコンポーネント選択ツールの下にあります。 パス選…

Photoshopのアートボード

Photoshopは通常1ファイルにつき1カンバスですが、アートボードを利用すると1ファイル内に複数のカンバスを表示できます。 新規でアートボードのドキュメント…

上に戻る