Photoshop PSD Dosyasını Ayrıştırmak için Açık Kaynaklı Ruby Kitaplığı
PSD'yi tuvale dönüştürmeyi, PSD verilerini dışa aktarmayı, PSD dilim verilerine erişmeyi ve Ruby uygulamalarının içindeki PSD katmanına erişmeyi destekleyen Ruby API.
PSD.rb, yazılım geliştiricilerin Adobe Photoshop PSD dosyasını ayrıştırmasına veya Ruby kodunu kullanarak Meta Verileri ve diğer kullanılabilir bilgileri çıkarmasına olanak tanıyan hafif, kullanımı kolay bir açık kaynaklı Ruby kitaplığıdır. Kitaplık, kullanıcıların Photoshop belge verilerini yönetilebilir bir ağaç yapısında işlemesine olanak tanır. PSD.rb'yi geliştirmenin arkasındaki amaç, Photoshop PSD dosyalarıyla düzenli olarak çalışan geliştiricilere daha iyi PSD kazıma yetenekleri sağlamaktı.
Kütüphane, dosyaya erişim, dosya açma ve istenen veriyi arama ile ilgili tüm temel işlevleri yerine getirir ve onu operasyonel biçimde alır. PSD.rb kitaplığının kullanımı çok kolaydır ve geliştiricilerin yönetilebilir bir ağaç yapısında bir Photoshop belgesiyle çalışmasına ve belge boyutu, belge yapısı, klasör adı ve boyutu, klasörün opaklığı, klasör görünürlüğü gibi önemli verileri aramasına olanak tanır. , yazı tipi adı, yazı tipi rengi veya boyutu, vektör maskesi verileri, düzleştirilmiş resim verileri ve çok daha fazlası
PSD.rb'ye Başlarken
PSD.rb'yi kurmanın önerilen yolu RubyGems kullanmaktır. Sorunsuz bir kurulum için lütfen aşağıdaki komutu kullanın.
PSD.rb'yi GitHub aracılığıyla yükleyin
$ gem install psd
Ruby API kullanarak PSD Verilerini Dışa Aktarma
Açık kaynaklı PSD.rb kitaplığı, yazılım programcılarının Ruby komutlarını kullanarak bir PSD dosyasından verileri kolaylıkla dışa aktarmasına olanak tanır. Ağaç yapısında çalışırken, herhangi bir düğümü, tüm ortak bilgileri içeren bir nesneye özyinelemeli olarak aktarabiliriz. PSD'yi yalnızca birkaç satırlık Ruby koduyla düzleştirilmiş bir görüntü dosyasına aktarmak da mümkündür. Lütfen uyumluluk Modu etkinken kaydetmeyi unutmayın, aksi takdirde boş bir görüntü oluşturulacaktır.
Export PSD Data via Ruby API
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 kullanarak PSD'yi Canvas'a dönüştürün
Açık kaynaklı PSD.rb kitaplığı, Ruby uygulamaları içinde PSD'yi tuvale dönüştürmek için eksiksiz işlevsellik sağlamıştır. Kitaplık, içe aktarılan PSD'nin ayrıştırılmasını destekler ve onu tuval nesnelerine dönüştürür. Bundan sonra, PSD nesnelerinin katmanlarını yineleyebilir ve nesneleri kolaylıkla tuvale ekleyebilirsiniz. Bu siparişten sonra eklenen nesneler ve işiniz bitti. Ayrıca tuvali PDF, SVG, PNG, PEG ve daha fazlasına aktarabilirsiniz.
PSD Dilimleri Verilerine Erişin
PSD.rb kitaplığı, yazılım geliştiricilerine doğrudan kendi uygulamalarının içinden PSD dilimlerine erişme yeteneği verir. Ayrıca, yalnızca birkaç satırlık Ruby koduyla belgedeki tüm dilimlerin bir dizisini almayı da destekler. Dilimleri adlarına veya kimliklerine göre aramak da mümkündür. Kitaplık ayrıca PNG olarak dışa aktarma dilimleri için destek sağlar.
Ruby API aracılığıyla PSD Dilim Verilerine Erişin
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 Katman Verilerine Erişim
Açık kaynak PSD.rb kütüphanesi, yazılım profesyonellerinin Ruby komutlarını kullanarak PSD katman verilere erişmesini sağlar. Bir çift Ruby kodu kullanarak katmanın boyutları kadar kolayca bir isim alabilirsiniz. Geliştiriciler ayrıca boyut, renk, fontlar ve benzeri katman bilgi bloklarında saklanan çeşitli diğer bilgilere de erişebilirler.
Access PSD Katman via Ruby API
//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);"}