Difference between revisions of "PSD support"

From GIMP Developer Wiki
Jump to: navigation, search
(Blending modes)
(Image modes)
Line 15: Line 15:
 
'''Prerequisites:''' none known, but this probably needs an extensive offline discussion.
 
'''Prerequisites:''' none known, but this probably needs an extensive offline discussion.
  
'''Bug reports''': https://gitlab.gnome.org/GNOME/gimp/issues/354 (maybe more)
+
'''Bug reports''':
 +
 
 +
* https://gitlab.gnome.org/GNOME/gimp/issues/19 (Duotone)
 +
* https://gitlab.gnome.org/GNOME/gimp/issues/354 (CMYK)
  
 
==Layers==
 
==Layers==

Revision as of 12:44, 17 November 2018

GIMP supports both opening and exporting of PSD files. However, this support comes with various limitations due to multiple reasons. This page lists unsupported features and provides an insight into further work on better PSD support.

PSB files

GIMP doesn't yet support PSB files.

Prerequisites: none known. An interested developer can hack on that at any time.

Bug reports: https://gitlab.gnome.org/GNOME/gimp/issues/884

Image modes

GIMP doesn't support LAB, CMYK, Bitmap, and Duotone modes. We aren't convinced that we need to implement those exactly the way Photoshop does it. Space-specific processing with filters can be accessible without prior conversion to a particular image mode.

Prerequisites: none known, but this probably needs an extensive offline discussion.

Bug reports:

Layers

Smart objects / Layer clones

Support for layer clones is likely to be added along with non-destructive editing (scheduled for v3.2) or soon thereafter. Then this feature can be added to the PSD plug-in as well.

Prerequisites: non-destructive editing (v3.2).

Bug reports:

Vector layers

Initial implementation has been available as a set of patches since 2006. It has quite a few design issues, it has never been merged, hence we cannot support vector layers in PSD files yet.

Prerequisites: review existing patches and redesign the implementation around GEGL vector operations. An interested developer can hack on that at any time.

Bug reports: https://gitlab.gnome.org/GNOME/gimp/issues/282 (Merge vector layers GSoC Project)

Fill layers

Support for fill layers is likely to be added along with non-destructive editing (scheduled for v3.2) or soon thereafter. Then this feature can be added to the PSD plug-in as well.

Prerequisites: non-destructive editing (v3.2).

Bug reports: https://gitlab.gnome.org/GNOME/gimp/issues/85 (Add support for fill layers)

Adjustment layers and layer effects

GIMP doesn't yet support adjustment layers and layer effects, so it cannot directly read those from PSD or export those to PSD.

A temporary workaround is available since v2.10.6: you can open PSD files saved with backwards compatibility, where non-destructive changes are flattened to a single layer.

Please note, that since 2.10, GIMP has an API for attaching filters to layers, which is a foundation work for further development.

Prerequisites: release of v3.0. Non-destructive editing is primary objective of v3.2.

Bug reports: https://gitlab.gnome.org/GNOME/gimp/issues/26

Text layers

GIMP doesn't yet allow editing the contents of text layers in PSD files. The PSD parser in our PSD plugin is already aware of relevant blocks (see the plug-ins/file-psd/psd.h file). Someone should add text layer editing and styling functions to the PDB, so that the plug-in could make use of styling features in GIMP.

Prerequisites: none known. An interested developer can hack on that at any time.

Bug reports:

Layer comps

GIMP doesn't yet support layer comps in PSD, because it doesn't yet have this feature itself.

Note that GIMP already has a tagging system for various resources (brushes, gradient etc.). It could be potentially extended to layers and thus provide a superset of what Photoshop allows, thus opening a way for layer comps support in PSD. We haven't discussed this feature request yet. If you are interested to implement this, please talk to us first.

Prerequisites: none known. An interested developer can hack on that at any time.

Bug reports: none filed (?)

Blending modes

Currently, GIMP supports all blending modes available in PSD as per Adobe's documentation, but doesn't yet take into consideration that "only the Normal, Dissolve, Darken, Multiply, Lighten, Linear Dodge (Add), Difference, Hue, Saturation, Color, Luminosity, Lighter Color, and Darker Color blending modes are available for 32‑bit images". Thus GIMP should detect unsupported blending modes in its project and suggest to either lower bit depth on exporting or give the user a chance to change the project composition.

Additionally, not all blending modes map perfectly between GIMP and Photoshop. Resolving this might imply hackarounds.

Prerequisites: none known. An interested developer can hack on that at any time.

Bug reports: none filed

Blending options

GIMP doesn't yet support some advanced layer blending options available in Photoshop, hence it does not support this feature in PSD files. The options are:

  • excluding particular channels from blending
  • conditional per-channel blending

Hence GIMP should gain these features first, then the PSD plug-in can be patched accordingly.

This hasn't been discussed by the team much yet, but it should be noted that channel selection for conditional blending in Photoshop is restricted to Grey and the channels of the current color model/space (e.g. R, G, and B for an RGB image). This seems overly restrictive, implementing support for blending based on CIE CLH and other color spaces would be beneficial for users (as demonstrated by e.g. darktable). Thus the implementation would be a superset of what Photoshop's allows.

Prerequisites: we haven't discussed yet if this is 2.10, 3.0, or 3.2 material. Please talk to us first.

Bug reports: none filed (?)