빠른 참조

PSD.rb 포토샵 파서 치트시트

PSD.rb 빠른 참조 가이드: Ruby에서 Photoshop PSD 문서 파싱, 레이어 트리 순회, 텍스트 서식 추출 및 레이어 이미지 내보내기.

· 게시일

[!NOTE] 아카이브된 라이브러리: PSD.rb는 Photoshop 설치 없이 .psd 파일을 파싱할 수 있는 독립형 Ruby 파서입니다.

PSD.rb는 Adobe Photoshop이나 C 확장 없이도 PSD 파일을 구조화된 Ruby 객체로 파싱합니다.

열기 및 파싱

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 = 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")

참고 자료

관련 주제