Pustaka Ruby Sumber Terbuka untuk Menghuraikan Fail JPA Photoshop
API Ruby yang menyokong penukaran JPA kepada kanvas, mengeksport data JPA, mengakses data kepingan JPA dan mengakses lapisan JPA dalam apl Ruby.
PSD.rb ialah perpustakaan Ruby sumber terbuka yang ringan dan mudah digunakan yang membolehkan pembangun perisian menghuraikan fail PSD Adobe Photoshop atau mengekstrak Metadata dan maklumat lain yang boleh digunakan menggunakan kod Ruby. Perpustakaan membenarkan pengguna mengendalikan data dokumen Photoshop dalam struktur pokok yang boleh diurus. Matlamat di sebalik membangunkan PSD.rb adalah untuk menyediakan keupayaan mengikis JPA yang lebih baik kepada pembangun yang bekerja dengan fail JPA Photoshop dengan kerap.
Perpustakaan mengendalikan semua fungsi utama mengenai mengakses dan membuka fail dan mencari data yang dikehendaki dan mendapatkannya dalam bentuk operasi. Pustaka PSD.rb sangat mudah dikendalikan dan membolehkan pembangun bekerja dengan dokumen Photoshop dalam struktur pokok yang boleh diurus dan mencari data penting seperti saiz dokumen, struktur dokumen, nama dan saiz folder, kelegapan folder, keterlihatan folder , nama fon, warna atau saiz fon, data topeng vektor, data imej yang diratakan dan banyak lagi
Bermula dengan PSD.rb
Cara yang disyorkan untuk memasang PSD.rb adalah menggunakan RubyGems. Sila gunakan arahan berikut untuk pemasangan yang lancar.
Pasang PSD.rb melalui GitHub
$ gem install psd
Mengeksport Data JPA menggunakan API Ruby
Pustaka PSD.rb sumber terbuka membolehkan pengaturcara perisian mengeksport data daripada fail JPA dengan mudah menggunakan arahan Ruby. Semasa bekerja dalam struktur pokok, kami boleh mengeksport sebarang nod ke objek secara rekursif, yang merangkumi semua maklumat biasa. Ia juga mungkin untuk mengeksport JPA ke fail imej yang diratakan dengan hanya beberapa baris kod Ruby. Sila ingat untuk menyimpannya dengan Mod keserasian didayakan, jika tidak, imej kosong akan dihasilkan
Eksport Data JPA melalui API Ruby
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
Tukar JPA kepada Kanvas menggunakan Ruby
Pustaka PSD.rb sumber terbuka telah menyediakan fungsi lengkap untuk menukar JPA kepada kanvas dalam aplikasi Ruby. Perpustakaan menyokong menghuraikan JPA yang diimport dan menukarnya menjadi objek kanvas. Selepas itu, anda boleh mengulang lapisan objek JPA dan menambah objek ke dalam kanvas dengan mudah. Selepas perintah itu, objek ditambah dan anda selesai. Anda juga boleh mengeksport kanvas ke PDF, SVG, PNG, PEG dan banyak lagi.
Akses Data Slices JPA
Pustaka PSD.rb memberikan pembangun perisian keupayaan untuk mengakses kepingan JPA secara langsung di dalam aplikasi mereka sendiri. Ia juga menyokong mendapatkan tatasusunan semua kepingan dalam dokumen dengan hanya beberapa baris kod Ruby. Ia juga mungkin untuk mencari kepingan mengikut nama mereka atau dengan ID mereka. Perpustakaan juga menyediakan sokongan untuk kepingan eksport sebagai PNG.
Akses Data Slices JPA melalui API Ruby
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
Akses Data Lapisan JPA
Pustaka PSD.rb sumber terbuka membolehkan profesional perisian mengakses data lapisan JPA menggunakan arahan Ruby. Anda boleh mendapatkan nama serta dimensi lapisan dengan mudah menggunakan beberapa baris kod Ruby. Pembangun juga boleh mengakses pelbagai jenis maklumat lain yang disimpan dalam blok maklumat lapisan seperti saiz, warna, fon dan sebagainya.
Akses Lapisan JPA melalui API Ruby
//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);"}