Atvērtā pirmkoda Rubīna bibliotēka Photoshop PSD faila parsēšanai
Ruby API, kas atbalsta PSD konvertēšanu uz kanvas, PSD datu eksportēšanu, piekļuvi PSD slāņu datiem un piekļuvi PSD slānim Ruby lietotnēs.
PSD.rb ir viegla, viegli lietojama atvērtā pirmkoda Ruby bibliotēka, kas ļauj programmatūras izstrādātājiem parsēt Adobe Photoshop PSD failu vai izvilkt metadatus un citu izmantojamu informāciju, izmantojot Ruby kodu. Bibliotēka ļauj lietotājiem apstrādāt Photoshop dokumentu datus pārvaldāmā koka struktūrā. PSD.rb izstrādes mērķis bija nodrošināt labākas PSD nokasīšanas iespējas izstrādātājiem, kuri regulāri strādā ar Photoshop PSD failiem.
Bibliotēka apstrādā visas galvenās funkcijas, kas saistītas ar piekļuvi failam un faila atvēršanu, kā arī vajadzīgo datu meklēšanu un izgūšanu operatīvajā formā. PSD.rb bibliotēka ir ļoti viegli apstrādājama, un tā ļauj izstrādātājiem strādāt ar Photoshop dokumentu pārvaldāmā koka struktūrā un meklēt svarīgus datus, piemēram, dokumenta lielumu, dokumenta struktūru, mapes nosaukumu un izmēru, mapes necaurredzamību, mapes redzamību. , fonta nosaukums, fonta krāsa vai izmērs, vektora maskas dati, saplacināta attēla dati un daudz kas cits
Darba sākšana ar PSD.rb
Ieteicamais veids, kā instalēt PSD.rb, ir lietot RubyGems. Lūdzu, izmantojiet šo komandu vienmērīgai instalēšanai.
Instalējiet PSD.rb, izmantojot GitHub
$ gem install psd
PSD datu eksportēšana, izmantojot Ruby API
Atvērtā pirmkoda PSD.rb bibliotēka ļauj programmatūras programmētājiem viegli eksportēt datus no PSD faila, izmantojot Ruby komandas. Strādājot koka struktūrā, mēs varam rekursīvi eksportēt jebkuru mezglu uz objektu, kas ietver visu kopējo informāciju. Ir iespējams arī eksportēt PSD uz saplacinātu attēla failu, izmantojot tikai dažas Ruby koda rindas. Lūdzu, atcerieties to saglabāt ar iespējotu saderības režīmu, pretējā gadījumā tiks izveidots tukšs attēls
Eksportējiet PSD datus, izmantojot 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
Konvertējiet PSD uz Canvas, izmantojot Ruby
Atvērtā pirmkoda PSD.rb bibliotēka ir nodrošinājusi pilnīgu funkcionalitāti PSD konvertēšanai uz audeklu Ruby lietojumprogrammās. Bibliotēka atbalsta importētā PSD parsēšanu un pārvērš to audekla objektos. Pēc tam varat atkārtot PSD objektu slāņus un viegli pievienot objektus audeklā. Pēc šī pasūtījuma pievienotie objekti un esat pabeidzis. Varat arī eksportēt audeklu PDF, SVG, PNG, PEG un citur.
Piekļūstiet PSD šķēlumu datiem
PSD.rb bibliotēka sniedz programmatūras izstrādātājiem iespēju piekļūt PSD slāņiem tieši savās lietojumprogrammās. Tas arī atbalsta visu dokumenta slāņu masīva iegūšanu, izmantojot tikai dažas Rubīna koda rindas. Ir iespējams arī meklēt šķēles pēc to nosaukuma vai ID. Bibliotēka nodrošina arī atbalstu eksportēt šķēles kā PNG.
Piekļūstiet PSD Slices datiem, izmantojot 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
Piekļūstiet PSD slāņa datiem
Atvērtā pirmkoda PSD.rb bibliotēka ļauj programmatūras profesionāļiem piekļūt PSD slāņa datiem, izmantojot Ruby komandas. Jūs varat viegli iegūt slāņa nosaukumu, kā arī izmērus, izmantojot pāris Ruby koda rindiņas. Izstrādātāji var piekļūt arī cita veida informācijai, kas tiek glabāta slāņu informācijas blokos, piemēram, izmēram, krāsai, fontiem utt.
Piekļūstiet PSD slānim, izmantojot 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);"}