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

Ruby-bibliotek med öppen källkod för att analysera Photoshop PSD-fil

Ruby API som stöder konvertering av PSD till canvas, export av PSD-data, åtkomst till PSD-segmentdata och åtkomst till PSD-lager inuti Ruby-appar.  

PSD.rb är ett lätt, lättanvänt Ruby-bibliotek med öppen källkod som gör det möjligt för programutvecklare att analysera Adobe Photoshop PSD-filer eller extrahera metadata och annan användbar information med hjälp av Ruby-kod. Biblioteket tillåter användare att hantera Photoshop-dokumentdata i en hanterbar trädstruktur. Syftet med att utveckla PSD.rb var att ge bättre PSD-skrapningsmöjligheter till utvecklare som regelbundet arbetar med Photoshop PSD-filer.

Biblioteket hanterar alla större funktioner kring att komma åt och öppna filen och leta efter önskad data och hämta den i operativ form. PSD.rb-biblioteket är mycket lätt att hantera och gör det möjligt för utvecklare att arbeta med ett Photoshop-dokument i en hanterbar trädstruktur och söka upp viktiga data som dokumentstorlek, dokumentstruktur, mappnamn och storlek, mappens opacitet, mappsynlighet ,  teckensnittsnamn, teckensnittsfärg eller storlek, vektormaskdata, tillplattad bilddata och mycket mer

Previous Next

Komma igång med PSD.rb

Det rekommenderade sättet att installera PSD.rb är att använda RubyGems. Använd följande kommando för en smidig installation.

Installera PSD.rb via GitHub

$ gem install psd

Exportera PSD-data med Ruby API

PSD.rb-biblioteket med öppen källkod gör det möjligt för programvaruprogrammerare att exportera data från en PSD-fil med lätthet med hjälp av Ruby-kommandon. När vi arbetar i trädstrukturen kan vi rekursivt exportera vilken nod som helst till ett objekt, vilket inkluderar all vanlig information. Det är också möjligt att exportera PSD till en tillplattad bildfil med bara ett par rader Ruby-kod. Kom ihåg att spara den med kompatibilitetsläget aktiverat, annars kommer en tom bild att skapas

Exportera 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

Konvertera PSD till Canvas med Ruby

Biblioteket med öppen källkod PSD.rb har tillhandahållit komplett funktionalitet för att konvertera PSD till canvas i Ruby-applikationer. Biblioteket stöder tolkning av den importerade PSD:n och konverterar den till kanvasobjekt. Efter det kan du iterera lagren i PSD-objekten och lägga till objekten i duken med lätthet. Efter den ordningen är de tillagda objekten och du är klar. Du kan också exportera arbetsytan till PDF, SVG, PNG, PEG och mer.

Få åtkomst till PSD Slices Data

PSD.rb-biblioteket ger mjukvaruutvecklare möjlighet att komma åt PSD-skivor direkt i sina egna applikationer. Det stöder också att få en uppsättning av alla segment i dokumentet med bara ett par rader Ruby-kod. Det är också möjligt att söka på skivor efter deras namn eller deras ID. Biblioteket ger också stöd för exportskivor som en PNG.

Tillgång 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å åtkomst till PSD-lagerdata

PSD.rb-biblioteket med öppen källkod gör det möjligt för programvaruproffs att komma åt PSD-lagerdata med hjälp av Ruby-kommandon. Du kan enkelt få ett namn och dimensioner på lagret med ett par rader Ruby-kod. Utvecklare kan också komma åt olika andra typer av information lagrad i lagerinfoblock som storlek, färg, typsnitt och så vidare.

Tillgång 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);"}
 Svenska