1. Produktai
  2.   Vaizdas
  3.   Ruby
  4.   PSD.rb
 
  

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

Previous Next

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);"}
 Lietuvių