[!NOTE] Αρχειοθετημένη βιβλιοθήκη: Το PSD.rb είναι ένας αυτόνομος αναλυτής Ruby για αρχεία Photoshop
.psd.
Το PSD.rb αναλύει αρχεία PSD σε δομημένα αντικείμενα Ruby χωρίς να απαιτείται το Adobe Photoshop.
Άνοιγμα & Ανάλυση
require 'psd'
psd = PSD.new('design.psd', parse_layer_images: true)
psd.parse!
Διάσχιση Δέντρου (Tree Traversal)
# Ριζικός κόμβος εγγράφου
node = psd.tree
# Βοηθοί διάσχισης
node.root
node.descendants
node.ancestors
node.siblings
node.subtree
# Φιλτράρισμα κατά τύπο επιπέδου
groups = node.descendant_groups
layers = node.descendant_layers
Ιδιότητες Επιπέδου (Layer Properties)
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)
Εξαγωγή Κειμένου & Τυπογραφίας
if layer.text
puts layer.text[:value] # Συμβολοσειρά περιεχομένου κειμένου
puts layer.text[:font][:name] # Όνομα γραμματοσειράς (π.χ. 'Helvetica')
puts layer.text[:font][:sizes] # Μεγέθη γραμματοσειράς
puts layer.text[:font][:colors] # Πίνακες χρωμάτων RGBA
puts layer.text[:font][:css] # Προϋπολογισμένος ορισμός CSS
end
Εξαγωγή Εικόνων Επιπέδων
# Αποθήκευση εικόνας επιπέδου ως PNG
layer.image.save_as_png("layer_#{layer.name}.png")