Open Source Ruby-bibliotek til parsing af Photoshop PSD-fil
Ruby API der understøtter konvertering af PSD til lærred, eksport af PSD-data, adgang til PSD-udsnitsdata og adgang til PSD-lag inde i Ruby-apps.
PSD.rb er et let, let at bruge open source Ruby-bibliotek, der gør det muligt for softwareudviklere at parse Adobe Photoshop PSD-fil eller udtrække metadata og anden brugbar information ved hjælp af Ruby-kode. Biblioteket giver brugerne mulighed for at håndtere Photoshop-dokumentdata i en håndterbar træstruktur. Målet bag udviklingen af PSD.rb var at give bedre PSD-skrabefunktioner til udviklere, der regelmæssigt arbejder med Photoshop PSD-filer.
Biblioteket håndterer alle de store funktionaliteter vedrørende adgang til og åbning af filen og søgning efter de ønskede data og genfinde dem i driftsformen. PSD.rb-biblioteket er meget nemt at håndtere og gør det muligt for udviklere at arbejde med et Photoshop-dokument i en overskuelig træstruktur og søge efter vigtige data såsom dokumentstørrelse, dokumentstruktur, mappenavn og størrelse, mappens uigennemsigtighed, mappesynlighed , skrifttypenavn, skrifttypefarve eller -størrelse, vektormaskedata, fladtrykte billeddata og meget mere
Kom godt i gang med PSD.rb
Den anbefalede måde at installere PSD.rb på er at bruge RubyGems. Brug venligst følgende kommando for en problemfri installation.
Installer PSD.rb via GitHub
$ gem install psd
Eksport af PSD-data ved hjælp af Ruby API
Open source PSD.rb-biblioteket gør det muligt for softwareprogrammører at eksportere data fra en PSD-fil med lethed ved hjælp af Ruby-kommandoer. Mens vi arbejder i træstrukturen, kan vi rekursivt eksportere enhver node til et objekt, som inkluderer al den almindelige information. Det er også muligt at eksportere PSD'en til en fladtrykt billedfil med blot et par linjer Ruby-kode. Husk at gemme det med kompatibilitetstilstand aktiveret, ellers vil der blive produceret et tomt billede
Eksporter PSD-data via 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
Konverter PSD til Canvas ved hjælp af Ruby
Open source PSD.rb-biblioteket har leveret komplet funktionalitet til at konvertere PSD til lærred i Ruby-applikationer. Biblioteket understøtter parsing af den importerede PSD og konverterer den til lærredsobjekter. Derefter kan du gentage lagene i PSD-objekterne og nemt tilføje objekterne til lærredet. Efter den rækkefølge er de tilføjede objekter og du er færdig. Du kan også eksportere lærredet til PDF, SVG, PNG, PEG og mere.
Få adgang til PSD Slices-data
PSD.rb-biblioteket giver softwareudviklere mulighed for at få adgang til PSD-slices direkte i deres egne applikationer. Det understøtter også at få en række af alle udsnit i dokumentet med blot et par linjer Ruby-kode. Det er også muligt at søge i skiver efter deres navn eller deres ID. Biblioteket understøtter også eksportudsnit som en PNG.
Få adgang til PSD Slices-data via 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
Få adgang til PSD-lagdata
Open source PSD.rb-biblioteket gør det muligt for softwareprofessionelle at få adgang til PSD-lagdata ved hjælp af Ruby-kommandoer. Du kan nemt få et navn samt dimensioner på laget ved hjælp af et par linjer Ruby-kode. Udviklere kan også få adgang til forskellige andre typer information, der er gemt i laginfoblokke, såsom størrelse, farve, skrifttyper og så videre.
Få adgang til PSD Layer via 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);"}