6
PSD.rb cheatsheet
source link: https://devhints.io/psdrb
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
Opening
psd = PSD.new(file, parse_layer_images: true)
psd.parse!
Traversing
# Gets the root node.
# A #<Node> can be a Group or a Layer.
node = psd.tree
node.root
node.descendants
node.ancestors
node.siblings
node.subtree
node.descendant_groups
node.descendant_layers
Layer info
node.name #=> "Layer 2"
node.top #=> 3
node.left #=> 3
node.bottom
node.right
# Note: these are interchanged (?)
node.width
node.height
node.visible?
node.hidden?
node.layer?
node.group?
node.blending_mode #=> "normal"
node.opacity #=> 0..255
node.fill_opacity #=> 0..255
Layer text
node.text #=> (Hash)
node.text[:value] #=> "Text here"
node.text[:font][:name] #=> "Arial"
node.text[:font][:sizes] #=> [6.9]
node.text[:font][:colors] #=> [[255,255,255,255]]
node.text[:font][:css] #=> "font-family: ...;"
node.text[:left] #=> 3
node.text[:top]
node.text[:right]
node.text[:bottom]
node.text[:transform] #=> (Hash)
Layer effects
fx = node.info[:object_effects]
fx.data['Scl '] # ?
fx.data['GrFl'] # Gradient fill
Layer mask
node.mask["mask_size"] == 0 # No mask
node.mask["mask_size"] == 20 # Has mask
node.mask["top"]
node.mask["left"]
node.mask["bottom"]
node.mask["right"]
Reference
- layervault/psd.rb (github.com)
Recommend
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK