1. produkty
  2.   obraz
  3.   Ruby
  4.   PSD.rb
 
  

Otevřete zdrojovou knihovnu Ruby pro analýzu souboru Photoshop PSD

Ruby API, které podporuje převod PSD na plátno, export dat PSD, přístup k datům řezů PSD a přístup k vrstvě PSD v aplikacích Ruby.  

PSD.rb je lehká, snadno použitelná open source knihovna Ruby, která umožňuje vývojářům softwaru analyzovat soubor Adobe Photoshop PSD nebo extrahovat metadata a další použitelné informace pomocí kódu Ruby. Knihovna umožňuje uživatelům pracovat s daty dokumentů Photoshopu ve spravovatelné stromové struktuře. Cílem vývoje PSD.rb bylo poskytnout vývojářům, kteří pravidelně pracují se soubory Photoshop PSD, lepší možnosti stírání PSD.

Knihovna zvládá všechny hlavní funkce týkající se přístupu a otevírání souboru a vyhledávání požadovaných dat a jejich načítání v provozní podobě. Knihovna PSD.rb se velmi snadno ovládá a umožňuje vývojářům pracovat s dokumentem Photoshopu ve spravovatelné stromové struktuře a vyhledávat důležitá data, jako je velikost dokumentu, struktura dokumentu, název a velikost složky, neprůhlednost složky, viditelnost složky. ,  název písma, barvu nebo velikost písma, vektorová data masky, sloučená obrazová data a mnoho dalšího

Previous Next

Začínáme s PSD.rb

Doporučený způsob instalace PSD.rb je použití RubyGems. Pro bezproblémovou instalaci použijte prosím následující příkaz.

Nainstalujte PSD.rb přes GitHub

$ gem install psd

Export PSD dat pomocí Ruby API

Open source knihovna PSD.rb umožňuje softwarovým programátorům snadno exportovat data ze souboru PSD pomocí příkazů Ruby. Při práci ve stromové struktuře můžeme rekurzivně exportovat libovolný uzel do objektu, který obsahuje všechny běžné informace. Je také možné exportovat PSD do sloučeného obrazového souboru pomocí pouhých několika řádků kódu Ruby. Nezapomeňte jej uložit se zapnutým režimem kompatibility, jinak se vytvoří prázdný obrázek

Export PSD Data prostřednictvím 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

Převeďte PSD na plátno pomocí Ruby

Open source knihovna PSD.rb poskytla kompletní funkčnost pro převod PSD na plátno v aplikacích Ruby. Knihovna podporuje analýzu importovaného PSD a převádí jej na objekty plátna. Poté můžete iterovat vrstvy objektů PSD a snadno je přidávat na plátno. Po tomto pořadí, přidané objekty a máte hotovo. Můžete také exportovat plátno do PDF, SVG, PNG, PEG a dalších.

Přístup k datům řezů PSD

Knihovna PSD.rb poskytuje vývojářům softwaru možnost přistupovat k řezům PSD přímo v jejich vlastních aplikacích. Podporuje také získání pole všech řezů v dokumentu pomocí pouhých několika řádků kódu Ruby. Je také možné vyhledávat řezy podle jejich názvu nebo podle jejich ID. Knihovna také poskytuje podporu pro export řezů jako PNG.

Přístup PSD Slices Data přes 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

Přístup k datům vrstvy PSD

Open source knihovna PSD.rb umožňuje softwarovým profesionálům přistupovat k datům vrstvy PSD pomocí příkazů Ruby. Název a rozměry vrstvy snadno získáte pomocí několika řádků kódu Ruby. Vývojáři mají také přístup k různým dalším typům informací uložených v informačních blocích vrstvy, jako je velikost, barva, písma a tak dále.

Přístup PSD Vrstva přes 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);"}
 Čeština