Photoshop PSDファイルを解析するためのオープンソースのRubyライブラリ
PSD からキャンバスへの変換、PSD データのエクスポート、PSD スライス データへのアクセス、Ruby アプリ内の PSD レイヤーへのアクセスをサポートする Ruby API 。
PSD.rb は、ソフトウェア開発者が Adobe Photoshop PSD ファイルを解析したり、Ruby コードを使用してメタデータやその他の使用可能な情報を抽出したりできるようにする、軽量で使いやすいオープン ソース Ruby ライブラリです。このライブラリを使用すると、ユーザーは管理しやすいツリー構造で Photoshop ドキュメント データを処理できます。 PSD.rb の開発の背後にある目的は、Photoshop の PSD ファイルを定期的に使用する開発者に、より優れた PSD スクレイピング機能を提供することでした。
ライブラリは、ファイルにアクセスして開くこと、目的のデータを検索すること、およびそれを運用形式で取得することに関するすべての主要な機能を処理します。 PSD.rb ライブラリは非常に扱いやすく、開発者は管理しやすいツリー構造で Photoshop ドキュメントを操作し、ドキュメント サイズ、ドキュメント構造、フォルダ名とサイズ、フォルダの不透明度、フォルダの可視性などの重要なデータを検索できます。 、フォント名、フォントの色またはサイズ、ベクトル マスク データ、平坦化された画像データなど
PSD.rb を使ってみる
PSD.rb をインストールするための推奨される方法は、RubyGems を使用することです。スムーズなインストールのために、次のコマンドを使用してください。
GitHub 経由で PSD.rb をインストールします。
$ gem install psd
Ruby API を使用した PSD データのエクスポート
オープン ソースの PSD.rb ライブラリにより、ソフトウェア プログラマーは Ruby コマンドを使用して PSD ファイルから簡単にデータをエクスポートできます。ツリー構造で作業している間、すべての共通情報を含むオブジェクトに任意のノードを再帰的にエクスポートできます。数行の Ruby コードだけで、PSD を平坦化された画像ファイルにエクスポートすることもできます。互換モードを有効にして保存することを忘れないでください。そうしないと、空の画像が生成されます。
Ruby API 経由で PSD データをエクスポートする
require 'fileutils'
require 'benchmark'
require './lib/psd'
file = ARGV[0] || 'examples/images/example.psd'
psd = PSD.new(file, parse_layer_images: true)
results = Benchmark.measure "Layer image exporting" do
psd.parse!
psd.tree.descendant_layers.each do |layer|
path = layer.path.split('/')[0...-1].join('/')
FileUtils.mkdir_p("output/#{path}")
layer.image.save_as_png "output/#{layer.path}.png"
end
end
puts Benchmark::CAPTION
puts results.to_s
Ruby を使用して PSD を Canvas に変換する
オープン ソースの PSD.rb ライブラリは、Ruby アプリケーション内で PSD をキャンバスに変換するための完全な機能を提供します。ライブラリは、インポートされた PSD の解析をサポートし、キャンバス オブジェクトに変換します。その後、PSD オブジェクトのレイヤーを反復処理して、キャンバスにオブジェクトを簡単に追加できます。その順序の後、追加されたオブジェクトと完了です。キャンバスを PDF、SVG、PNG、PEG などにエクスポートすることもできます。
PSD スライス データへのアクセス
PSD.rb ライブラリを使用すると、ソフトウェア開発者は、独自のアプリケーション内で直接 PSD スライスにアクセスできます。また、わずか数行の Ruby コードで、ドキュメント内のすべてのスライスの配列を取得することもサポートしています。名前または ID でスライスを検索することもできます。このライブラリは、スライスを PNG としてエクスポートすることもサポートしています。
Ruby API による PSD スライスデータへのアクセス
require 'benchmark'
require './lib/psd'
require 'pp'
psd = nil
file = ARGV[0] || 'examples/images/example.psd'
results = Benchmark.measure "PSD parsing" do
psd = PSD.new(file)
psd.parse!
end
if psd.resources[:slices]
psd.resources[:slices].data.to_a.each do |slice|
pp slice
end
end
PSD レイヤー データへのアクセス
オープンソース PSD.rb ライブラリは、ソフトウェアの専門家が Ruby コマンドを使用して PSD 層のデータにアクセスできるようにします。 Ruby コードの行数でレイヤーの名前や寸法を簡単に取得できます。 開発者は、サイズ、色、フォントなどのレイヤー情報ブロックに保存されているさまざまな種類の情報にアクセスすることもできます。
ルビーAPIによるPSD層アクセス
//Get Name & Dimensions of a layer
psd.tree.descendant_layers.first.name
psd.tree.descendant_layers.first.width
//Get Other Layer Info
psd.tree.descendant_layers.first.text[:font]
# Returns
{:name=>"HelveticaNeue-Light",
:sizes=>[33.0],
:colors=>[[255, 19, 120, 98]],
:css=>
"font-family: \"HelveticaNeue-Light\", \"AdobeInvisFont\", \"MyriadPro-Regular\";\nfont-size: 33.0pt;\ncolor: rgba(19, 120, 98, 255);"}