Atvirojo šaltinio „Ruby Library“, kad būtų galima analizuoti „Photoshop“ PSD failą
„Ruby“ API, kuri palaiko PSD konvertavimą į drobę, PSD duomenų eksportavimą, prieigą prie PSD dalių duomenų ir PSD sluoksnio „Ruby“ programose.
PSD.rb yra lengva, lengvai naudojama atvirojo kodo „Ruby“ biblioteka, leidžianti programinės įrangos kūrėjams išanalizuoti „Adobe Photoshop“ PSD failą arba išgauti metaduomenis ir kitą naudingą informaciją naudojant „Ruby“ kodą. Biblioteka leidžia vartotojams tvarkyti Photoshop dokumentų duomenis tvarkomoje medžio struktūroje. PSD.rb kūrimo tikslas buvo suteikti geresnes PSD nuskaitymo galimybes kūrėjams, reguliariai dirbantiems su Photoshop PSD failais.
Biblioteka tvarko visas pagrindines funkcijas, susijusias su prieiga ir failo atidarymu bei norimų duomenų paieška ir jų nuskaitymu operacine forma. PSD.rb biblioteka yra labai paprasta valdyti ir leidžia kūrėjams dirbti su Photoshop dokumentu valdomoje medžio struktūroje ir ieškoti svarbių duomenų, tokių kaip dokumento dydis, dokumento struktūra, aplanko pavadinimas ir dydis, aplanko neskaidrumas, aplanko matomumas. , šrifto pavadinimas, šrifto spalva arba dydis, vektorinės kaukės duomenys, išlyginto vaizdo duomenys ir daug daugiau
Darbo su PSD.rb pradžia
Rekomenduojamas būdas įdiegti PSD.rb yra naudoti RubyGems. Norėdami sklandžiai įdiegti, naudokite šią komandą.
Įdiekite PSD.rb per GitHub
$ gem install psd
PSD duomenų eksportavimas naudojant Ruby API
Atvirojo kodo PSD.rb biblioteka leidžia programuotojams lengvai eksportuoti duomenis iš PSD failo naudojant Ruby komandas. Dirbdami medžio struktūroje galime rekursyviai eksportuoti bet kurį mazgą į objektą, kuriame yra visa bendra informacija. Taip pat galima eksportuoti PSD į išlygintą vaizdo failą, naudojant tik kelias Ruby kodo eilutes. Nepamirškite išsaugoti jo, kai įjungtas suderinamumo režimas, kitaip bus sukurtas tuščias vaizdas
Eksportuokite PSD duomenis naudodami 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
Konvertuokite PSD į „Canvas“ naudodami „Ruby“.
Atvirojo kodo PSD.rb biblioteka suteikė visas funkcijas, skirtas konvertuoti PSD į drobę Ruby programose. Biblioteka palaiko importuoto PSD analizę ir konvertuoja jį į drobės objektus. Po to galite kartoti PSD objektų sluoksnius ir lengvai įtraukti objektus į drobę. Po šio užsakymo pridėti objektai ir viskas. Taip pat galite eksportuoti drobę į PDF, SVG, PNG, PEG ir kt.
Pasiekite PSD dalių duomenis
PSD.rb biblioteka suteikia programinės įrangos kūrėjams galimybę pasiekti PSD dalis tiesiai savo programose. Jis taip pat palaiko visų dokumento dalių masyvą, naudojant tik keletą Ruby kodo eilučių. Taip pat galima ieškoti pjūvių pagal pavadinimą arba ID. Biblioteka taip pat palaiko eksporto skilteles kaip PNG.
Pasiekite PSD Slices duomenis per Ruby API
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
Pasiekite PSD sluoksnio duomenis
Atvirojo kodo PSD.rb biblioteka leidžia programinės įrangos profesionalams pasiekti PSD sluoksnio duomenis naudojant Ruby komandas. Galite lengvai gauti pavadinimą ir sluoksnio matmenis naudodami keletą Ruby kodo eilučių. Kūrėjai taip pat gali pasiekti įvairių kitų tipų informaciją, saugomą sluoksnių informacijos blokuose, pvz., dydį, spalvą, šriftus ir pan.
Pasiekite PSD sluoksnį per 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);"}