Avoimen lähdekoodin Ruby Library Photoshopin PSD-tiedoston jäsentämiseen
Ruby API joka tukee PSD:n muuntamista kankaaksi, PSD-tietojen vientiä, pääsyä PSD-osien dataan ja PSD-kerroksen käyttöä Ruby-sovellusten sisällä.
PSD.rb on kevyt, helppokäyttöinen avoimen lähdekoodin Ruby-kirjasto, jonka avulla ohjelmistokehittäjät voivat jäsentää Adobe Photoshop PSD -tiedoston tai poimia metatietoja ja muuta käyttökelpoista tietoa Ruby-koodin avulla. Kirjaston avulla käyttäjät voivat käsitellä Photoshop-asiakirjatietoja hallittavassa puurakenteessa. PSD.rb:n kehittämisen tavoitteena oli tarjota parempia PSD-kaappausominaisuuksia kehittäjille, jotka työskentelevät säännöllisesti Photoshopin PSD-tiedostojen kanssa.
Kirjasto hoitaa kaikki tärkeimmät toiminnot koskien tiedostoon pääsyä ja avaamista sekä haluttujen tietojen etsimistä ja hakemista operatiivisessa muodossa. PSD.rb-kirjastoa on erittäin helppo käsitellä, ja sen avulla kehittäjät voivat työskennellä Photoshop-asiakirjan kanssa hallittavassa puurakenteessa ja etsiä tärkeitä tietoja, kuten asiakirjan kokoa, asiakirjan rakennetta, kansion nimeä ja kokoa, kansion peittävyyttä, kansion näkyvyyttä , fontin nimi, fontin väri tai koko, vektorimaskitiedot, litistetty kuvadata ja paljon muuta
PSD.rb:n käytön aloittaminen
Suositeltu tapa asentaa PSD.rb on RubyGems. Käytä seuraavaa komentoa sujuvaan asennukseen.
Asenna PSD.rb GitHubin kautta
$ gem install psd
PSD-tietojen vienti Ruby API:lla
Avoimen lähdekoodin PSD.rb-kirjaston avulla ohjelmoijat voivat viedä tietoja PSD-tiedostosta helposti Ruby-komentojen avulla. Puurakenteessa työskennellessämme voimme rekursiivisesti viedä minkä tahansa solmun objektiin, joka sisältää kaikki yleiset tiedot. On myös mahdollista viedä PSD litteäksi kuvatiedostoksi, jossa on vain muutama Ruby-koodirivi. Muista tallentaa se siten, että yhteensopivuustila on käytössä, muuten syntyy tyhjä kuva
Vie PSD-tiedot Ruby API:n kautta
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
Muunna PSD Canvasiksi Rubyn avulla
Avoimen lähdekoodin PSD.rb-kirjasto on tarjonnut täydelliset toiminnot PSD:n muuntamiseen kankaaksi Ruby-sovelluksissa. Kirjasto tukee tuodun PSD:n jäsentämistä ja muuntaa sen canvas-objekteiksi. Sen jälkeen voit iteroida PSD-objektien kerroksia ja lisätä objektit kankaalle helposti. Tämän tilauksen jälkeen lisätyt objektit ja olet valmis. Voit myös viedä kankaan PDF-, SVG-, PNG-, PEG- ja muihin muotoihin.
Käytä PSD Slices -tietoja
PSD.rb-kirjasto antaa ohjelmistokehittäjille mahdollisuuden käyttää PSD-lohkoja suoraan omissa sovelluksissaan. Se tukee myös joukon saamista asiakirjan kaikista osista vain parilla Ruby-koodirivillä. On myös mahdollista etsiä viipaleita niiden nimen tai tunnuksen perusteella. Kirjasto tukee myös osien vientiä PNG-muodossa.
Käytä PSD Slices -tietoja Ruby API:n kautta
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
Käytä PSD-kerroksen tietoja
Avoimen lähdekoodin PSD.rb-kirjaston avulla ohjelmistoalan ammattilaiset voivat käyttää PSD-kerroksen tietoja Ruby-komentojen avulla. Voit helposti saada kerroksen nimen ja mitat käyttämällä pari riviä Ruby-koodia. Kehittäjät voivat myös käyttää erilaisia muita kerrosten tietolohkoihin tallennettuja tietoja, kuten kokoa, väriä, fontteja ja niin edelleen.
Käytä PSD-tasoa Ruby API:n kautta
//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);"}