Python module to create simplified PSD (PhotoShop Document) file
Budget: €250 – €750 EUR
We need a Python (3.8+) module that allows the creation of simplified multilayered PSD files (PhotoShop Document).
Module features
--------------------------
Given an ordered list of images (numpy.ndarray or PIL.Image), the module should be able to generate a PSD file from scratch, where each layer, properly named, is one of the given images.
Images have all the same shape and can be RGB or RGBA. In the latter case, the alpha channel (aka mask) can be shown as applied or detached, according to a flag (see the provided example).
To recap, for each layer we should be able to set: the image, the layer name, if the mask is applied or detached.
Blending mode and opacity can be preset to Normal and 100% for all layers. For the moment we don't need to modify these parameters.
Attached files
----------------------
We provide the following files:
- lvl1.png : an RGBA image (its mask is shown as "detached" in result.psd)
- lvl2.png : an RGBA image (its mask is shown as applied in result.psd)
- lvl3.png : an RGB image
- result.psd : the expected result
Please note that the module is not expected to load images from disk but to receive images as numpy.ndarray or PIL.Image variables as described above.
Compatibility
---------------------
The module has to be compatible with Python 3.8+, should depend only on public domain software (licensed under BSD, Apache 2.0 or similar) and should work on Linux (Ubuntu Server).
The module must not depend on Gimp, QT5, GTK or any other similar software/libraries.
You can share a dependences list so we can check all elements are compliant with our requirements.
Result
----------
As said above, the expected result is a fully compliant PSD file. If required, detailed PSD specifications can be found here: https://www.adobe.com/devnet-apps/photoshop/fileformatashtml/
Benchmark
----------------
The module is expected to be as fast as libraries such as OpenCV or Pillow.
Module features
--------------------------
Given an ordered list of images (numpy.ndarray or PIL.Image), the module should be able to generate a PSD file from scratch, where each layer, properly named, is one of the given images.
Images have all the same shape and can be RGB or RGBA. In the latter case, the alpha channel (aka mask) can be shown as applied or detached, according to a flag (see the provided example).
To recap, for each layer we should be able to set: the image, the layer name, if the mask is applied or detached.
Blending mode and opacity can be preset to Normal and 100% for all layers. For the moment we don't need to modify these parameters.
Attached files
----------------------
We provide the following files:
- lvl1.png : an RGBA image (its mask is shown as "detached" in result.psd)
- lvl2.png : an RGBA image (its mask is shown as applied in result.psd)
- lvl3.png : an RGB image
- result.psd : the expected result
Please note that the module is not expected to load images from disk but to receive images as numpy.ndarray or PIL.Image variables as described above.
Compatibility
---------------------
The module has to be compatible with Python 3.8+, should depend only on public domain software (licensed under BSD, Apache 2.0 or similar) and should work on Linux (Ubuntu Server).
The module must not depend on Gimp, QT5, GTK or any other similar software/libraries.
You can share a dependences list so we can check all elements are compliant with our requirements.
Result
----------
As said above, the expected result is a fully compliant PSD file. If required, detailed PSD specifications can be found here: https://www.adobe.com/devnet-apps/photoshop/fileformatashtml/
Benchmark
----------------
The module is expected to be as fast as libraries such as OpenCV or Pillow.