1. Produkter
  2.   Bilde
  3.   Ruby
  4.   PSD.rb
 
  

Open Source Ruby Library for parsing Photoshop PSD-fil

Ruby API som støtter konvertering av PSD til lerret, eksport av PSD-data, tilgang til PSD-skjærdata og tilgang til PSD-lag inne i Ruby-apper.  

PSD.rb er et lett, brukervennlig Ruby-bibliotek med åpen kildekode som gjør det mulig for programvareutviklere å analysere Adobe Photoshop PSD-fil eller trekke ut metadata og annen brukbar informasjon ved hjelp av Ruby-kode. Biblioteket lar brukere håndtere Photoshop-dokumentdata i en håndterbar trestruktur. Målet bak utviklingen av PSD.rb var å gi bedre PSD-skrapingsmuligheter til utviklere som regelmessig arbeider med Photoshop PSD-filer.

Biblioteket håndterer alle de viktigste funksjonalitetene når det gjelder tilgang og åpning av filen og leting etter ønskede data og hente dem i operativ form. PSD.rb-biblioteket er veldig enkelt å håndtere og gjør det mulig for utviklere å jobbe med et Photoshop-dokument i en håndterlig trestruktur og søke opp viktige data som dokumentstørrelse, dokumentstruktur, mappenavn og størrelse, mappens opasitet, mappesynlighet ,  skriftnavn, skriftfarge eller størrelse, vektormaskedata, flate bildedata og mye mer

Previous Next

Komme i gang med PSD.rb

Den anbefalte måten å installere PSD.rb på er å bruke RubyGems. Bruk følgende kommando for en jevn installasjon.

Installer PSD.rb via GitHub

$ gem install psd

Eksporterer PSD-data ved hjelp av Ruby API

PSD.rb-biblioteket med åpen kildekode gjør det mulig for programvareprogrammerere å eksportere data fra en PSD-fil enkelt ved å bruke Ruby-kommandoer. Mens vi jobber i trestrukturen, kan vi rekursivt eksportere hvilken som helst node til et objekt, som inkluderer all vanlig informasjon. Det er også mulig å eksportere PSD-en til en flatet bildefil med bare et par linjer med Ruby-kode. Husk å lagre den med kompatibilitetsmodus aktivert, ellers vil et tomt bilde bli produsert

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 med Ruby

Åpen kildekode PSD.rb-biblioteket har gitt komplett funksjonalitet for å konvertere PSD til lerret inne i Ruby-applikasjoner. Biblioteket støtter parsing av den importerte PSD-en og konverterer den til lerretsobjekter. Etter det kan du iterere lagene til PSD-objektene og enkelt legge til objektene i lerretet. Etter den rekkefølgen er de lagt til objektene og du er ferdig. Du kan også eksportere lerretet til PDF, SVG, PNG, PEG og mer.

Få tilgang til PSD Slices-data

PSD.rb-biblioteket gir programvareutviklere muligheten til å få tilgang til PSD-skiver direkte i sine egne applikasjoner. Den støtter også å få en rekke av alle stykker i dokumentet med bare et par linjer med Ruby-kode. Det er også mulig å søke i skiver etter navn eller ID. Biblioteket gir også støtte for eksportskiver som PNG.

Få tilgang 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å tilgang til PSD-lagdata

PSD.rb-biblioteket med åpen kildekode gjør det mulig for programvareprofesjonelle å få tilgang til PSD-lagdata ved å bruke Ruby-kommandoer. Du kan enkelt få et navn så vel som dimensjoner på laget ved å bruke et par linjer med Ruby-kode. Utviklere kan også få tilgang til forskjellige andre typer informasjon lagret i laginfoblokker som størrelse, farge, fonter og så videre.

Få tilgang 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);"}
 Norsk