Szybka pomoc

Ściągawka z parsera PSD.rb dla Photoshopa

Szybki przewodnik po PSD.rb: parsowanie plików PSD w Ruby, przeglądanie drzewa warstw, wyodrębnianie typografii i eksport obrazów.

· Opublikowano

[!NOTE] Zarchiwizowana biblioteka: PSD.rb to samodzielny parser w Ruby dla plików .psd programu Photoshop.

PSD.rb przetwarza pliki PSD na ustrukturyzowane obiekty Ruby bez konieczności instalowania programu Adobe Photoshop.

Otwieranie i parsowanie

require 'psd'

psd = PSD.new('design.psd', parse_layer_images: true)
psd.parse!

Przechodzenie po drzewie warstw (Tree Traversal)

# Węzeł główny dokumentu
node = psd.tree

# Metody pomocnicze do nawigacji
node.root
node.descendants
node.ancestors
node.siblings
node.subtree

# Filtrowanie wg typu warstwy
groups = node.descendant_groups
layers = node.descendant_layers

Właściwości warstwy

layer = node.children.first

layer.name         # => "Header Background"
layer.top          # => 0 (Y coordinate)
layer.left         # => 0 (X coordinate)
layer.width        # => 1440
layer.height       # => 800

layer.visible?     # => true
layer.hidden?      # => false
layer.layer?       # => true
layer.group?       # => false

layer.blending_mode # => "normal", "multiply", etc.
layer.opacity       # => 0..255 (divide by 255 for CSS opacity)

Wyodrębnianie tekstu i typografii

if layer.text
  puts layer.text[:value]             # Tekst warstwy
  puts layer.text[:font][:name]       # Nazwa czcionki (np. 'Helvetica')
  puts layer.text[:font][:sizes]      # Rozmiary czcionek
  puts layer.text[:font][:colors]     # Kolory RGBA
  puts layer.text[:font][:css]        # Definicja CSS dla fontu
end

Eksport obrazu warstwy

# Zapisanie obrazu warstwy jako PNG
layer.image.save_as_png("layer_#{layer.name}.png")

Materiały referencyjne

Powiązane tematy