Psd.rb Versions Save

Parse Photoshop files in Ruby with ease

v3.5.0

8 years ago

This release adds support for parsing all of the available adjustment layers. It also adds a helper to get color labels and handles the inheritance properly.

v3.1.3

10 years ago

Fixes

Text in text fields is now read directly from the descriptor instead of from psd-enginedata parsed data. This should solve some parsing issues.

psd-enginedata was also updated, which fixes some of it's own character encoding issues, so I highly recommend getting the latest version of that as well.

v3.1.2

10 years ago

New Features

  • Lots of code cleanup, especially for PSD::Node related stuff
  • A few new layer info blocks
  • Experimental vector drawing (currently disabled)
  • Can now get node paths as an array, which avoids issues with names that have forward slashes in them.

Fixes

  • Significant speedups in many areas of the renderer, including:
    • Canvas composing
    • Mask application
    • Pixel blending
    • Color overlay
    • RGB processing
  • Less reliance on method_missing and more explicit method declaration in a few areas
  • Clipping masks now support clipping multiple layers
  • Applies masks to clipping masks before clipping
  • Applies fill color to filled canvases
  • Fixes rendering single layers (no longer double-renders them)
  • Fixes some one-off errors during mask application
  • Layer masks now respect layer comp position offsets, when applicable
  • Fixes bugs with layer comp position and visibility application
  • Group masks on passthru groups are now properly applied
  • Some Descriptor parsing fixes, especially for PSDs that contain references
  • Blend modes with spaces in the name work properly now
  • Layer styles now respect the master FX switch for the layer
  • Color overlay now renders properly (fixes aliasing issue)
  • Fixes search bug that occured when two nodes of the same name were at the same depth
  • Node searching unintentionally modified the passed-in path parameter

v2.1.0

10 years ago

Changes

  • Now supports layer comp position offsets when filtering by layer comp
  • Fixes some layer comp visibility issues

v1.5.0

10 years ago

Fixes/Changes

  • Don't lazy parse images if only accessing width/height.
  • Mask parsing errors when a user and vector mask are both present.
  • Fixes some mask calculations.
  • Memoize built PNGs.
  • Applies the clipping mask before applying layer styles when exporting a layer image.
  • Fixes incorrect optimization when parsing a layer image.
  • Fixes group node size calculation when an empty layer is present.

Additions

  • Parsing of version 6 slices.
  • Can now determine if a layer or group has been locked.

Kudos

v1.4.4

10 years ago

Changes

  • Introduces internal lazy execution. Various parts of the PSD will not be parsed until their data is attempted to be accessed. This significantly speeds up overall usage time because you only parse the data you need to access.
  • Changed Util from a class to a module
  • Because images are now lazy parsed, the options hash for PSD.new is irrelevant. That said, this was a backwards compatible change. Passing the same arguments will not break or change anything.

v1.4.3

10 years ago

Changes

  • Fixes layer blending when the layer extends beyond the visible canvas
  • Fixes incorrect opacity being set during RGB processing
  • Various bug fixes and speed improvements

v1.4.0

10 years ago

Changes

  • Image building support - generate preview images for any subset of the PSD
    • Color composition
    • Start of layer styles
    • Clipping masks
  • User mask properly handled and parsed
  • Now correctly reads blending range values
  • Slices support
  • Some internal API changes
  • A few bug fixes

Contributors

v1.3.3

10 years ago

Changes

  • Fixes tree construction problems by parsing the mysterious lsdk layer info block.
  • Lots of internal organization

v1.3.0

10 years ago

There are a significant number of fixes that went into this release, as well as some important new features.

Fixes

  • Undefined method error when parsing layer masks
  • Memory leak when parsing image data
  • Significant speed improvements related to parsing image data
  • CMYK processing error
  • File#read_boolean would always return true

New Features

  • JRuby and Rubinius compatibility (with tests)
  • Layer comps
    • Retrieve all available layer comps in document
    • Filter tree nodes based on layer comp
    • Read layer metadata and settings

Also worth mentioning is that PSD.rb now has a native extension that speeds up the slowest parts of the library, mostly in regards to image data parsing. Be sure to check out psd_native if native extensions are an option for you.

Kudos