Bug 289857

Summary: PSD filter does not support saving group layers.
Product: [Applications] krita Reporter: Silvio Grosso <grossosilvio>
Component: File formatsAssignee: Krita Bugs <krita-bugs-null>
Status: RESOLVED FIXED    
Severity: normal CC: danni.coy, halla, sascha.snowstorm, shadow_hedgehog16, sqdqsddd
Priority: NOR    
Version: git master (please specify the git hash!)   
Target Milestone: ---   
Platform: unspecified   
OS: All   
Latest Commit: Version Fixed In:

Description Silvio Grosso 2011-12-26 13:56:13 UTC
Version:           2.4-snapshots (using Devel) 
OS:                MS Windows

Windows 7 home premium - 64 bit
KRITA 2.4 BETA 5

As usual,I have tried the same steps also with:
UBUNTU 11.10 - SHELL UNITY
KRITA 2.4 BETA 4

Reproducible: Didn't try

Steps to Reproduce:
1. Fire up no matter what PSD image;
2. They are open fine (with all their layers) BUT they are not shown correctly
3. The layers of the PSD file imported looks "garbled" and blurred.

N.B: the same PSD files work fine instead on Ubuntu 11.10 - Krita 2.4 beta 4
The PSD images are not "blurred" on Linux.

Actual Results:  
PSD images are not shown correctly on Windows 7

Expected Results:  
PSD images should look fine on Windows 7

Here you can download a Zip file with 2 PSD Images:

http://dl.dropbox.com/u/3095134/PSD_KRITA_TRIALS.zip

1. Krita_ko_background.psd is the only one which does NOT work on Krita 2.4 beta 4 on Ubuntu 11.10 - Unity Shell.
As usual it does NOT work on Windows 7 either (Krita 2.4 beta 5)

2. Krita_ok_linux_castle.psd work fine on Ubuntu 11.10 (krita 2.4 beta 4).
But, as usual, it does not visualize fine on Windows 7 (it is "blurred").

Here you can download a screenshot about this same psd image as it looks "blurred" on Windows 7: 
http://dl.dropbox.com/u/3095134/WINDOWS_7_SCREENSHOT_PSD.jpe

With Gimp 2.7.4, on Windows 7, I can open both these 2 PSD images.
With Gimp, on Windows 7, I have exported these 2 PSD images and I have saved them as png (both of them are available in the ZIP folder).
Comment 1 Halla Rempt 2011-12-26 14:14:20 UTC
Yes, I can confirm. Pretty strange, too -- that the same file loads fine on Linux, but not on Windows.
Comment 2 Halla Rempt 2012-02-19 12:06:50 UTC
Compiling on Windows shows warnings that might be related:

[  0%] Built target kritaimage_automoc
[  0%] Built target koplugin_automoc
[  0%] Built target koplugin
[  0%] Built target pigmentcms_automoc
[  4%] Built target pigmentcms
[  4%] Built target kowidgets_automoc
[  4%] Built target kotext_automoc
[  4%] Built target koodf_automoc
[ 12%] Built target koodf
[ 12%] Built target flake_automoc
[ 12%] Built target kundo2_automoc
[ 12%] Built target kundo2
[ 32%] Built target flake
[ 44%] Built target kotext
[ 48%] Built target kowidgets
[ 48%] Built target textlayout_automoc
[ 52%] Built target textlayout
[ 52%] Built target komain_automoc
[ 60%] Built target komain
[ 80%] Built target kritaimage
[ 80%] Built target kritaui_automoc
[100%] Built target kritaui
Generating psd_export.moc

Generating psd_saver.moc

[100%] Built target kritapsdexport_automoc
[100%] Building CXX object krita/plugins/formats/psd/CMakeFiles/kritapsdexport.dir/kritapsdexport_automoc.obj
kritapsdexport_automoc.cpp
[100%] Building CXX object krita/plugins/formats/psd/CMakeFiles/kritapsdexport.dir/psd_export.obj
psd_export.cc
[100%] Building CXX object krita/plugins/formats/psd/CMakeFiles/kritapsdexport.dir/psd_saver.obj
psd_saver.cpp
[100%] Building CXX object krita/plugins/formats/psd/CMakeFiles/kritapsdexport.dir/psd.obj
psd.cpp
[100%] Building CXX object krita/plugins/formats/psd/CMakeFiles/kritapsdexport.dir/psd_utils.obj
psd_utils.cpp
[100%] Building CXX object krita/plugins/formats/psd/CMakeFiles/kritapsdexport.dir/psd_header.obj
psd_header.cpp
[100%] Building CXX object krita/plugins/formats/psd/CMakeFiles/kritapsdexport.dir/psd_colormode_block.obj
psd_colormode_block.cpp
[100%] Building CXX object krita/plugins/formats/psd/CMakeFiles/kritapsdexport.dir/psd_resource_section.obj
psd_resource_section.cpp
[100%] Building CXX object krita/plugins/formats/psd/CMakeFiles/kritapsdexport.dir/psd_resource_block.obj
psd_resource_block.cpp
[100%] Building CXX object krita/plugins/formats/psd/CMakeFiles/kritapsdexport.dir/psd_layer_section.obj
psd_layer_section.cpp
[100%] Building CXX object krita/plugins/formats/psd/CMakeFiles/kritapsdexport.dir/psd_layer_record.obj
psd_layer_record.cpp
C:\kde_master_d\calligra\src\calligra\krita\plugins\formats\psd\psd_layer_record.cpp(547) : warning C4996: 'KisPaintDevice::createHLineIterator': was declared deprecated
        C:\kde_master_d\calligra\src\calligra\krita\image\kis_paint_device.h(640) : see declaration of 'KisPaintDevice::createHLineIterator'
C:\kde_master_d\calligra\src\calligra\krita\plugins\formats\psd\psd_layer_record.cpp(654) : warning C4996: 'KisPaintDevice::createHLineIterator': was declared deprecated
        C:\kde_master_d\calligra\src\calligra\krita\image\kis_paint_device.h(640) : see declaration of 'KisPaintDevice::createHLineIterator'
C:\kde_master_d\calligra\src\calligra\krita\plugins\formats\psd\psd_layer_record.cpp(766) : warning C4996: 'KisPaintDevice::createHLineIterator': was declared deprecated
        C:\kde_master_d\calligra\src\calligra\krita\image\kis_paint_device.h(640) : see declaration of 'KisPaintDevice::createHLineIterator'
[100%] Building CXX object krita/plugins/formats/psd/CMakeFiles/kritapsdexport.dir/psd_image_data.obj
psd_image_data.cpp
C:\kde_master_d\calligra\src\calligra\krita\plugins\formats\psd\psd_image_data.cpp(115) : warning C4018: '<' : signed/unsigned mismatch
C:\kde_master_d\calligra\src\calligra\krita\plugins\formats\psd\psd_image_data.cpp(220) : warning C4018: '<' : signed/unsigned mismatch
C:\kde_master_d\calligra\src\calligra\krita\plugins\formats\psd\psd_image_data.cpp(222) : warning C4996: 'KisPaintDevice::createHLineIterator': was declared deprecated
        C:\kde_master_d\calligra\src\calligra\krita\image\kis_paint_device.h(640) : see declaration of 'KisPaintDevice::createHLineIterator'
C:\kde_master_d\calligra\src\calligra\krita\plugins\formats\psd\psd_image_data.cpp(267) : warning C4018: '<' : signed/unsigned mismatch
C:\kde_master_d\calligra\src\calligra\krita\plugins\formats\psd\psd_image_data.cpp(322) : warning C4018: '<' : signed/unsigned mismatch
C:\kde_master_d\calligra\src\calligra\krita\plugins\formats\psd\psd_image_data.cpp(324) : warning C4996: 'KisPaintDevice::createHLineIterator': was declared deprecated
        C:\kde_master_d\calligra\src\calligra\krita\image\kis_paint_device.h(640) : see declaration of 'KisPaintDevice::createHLineIterator'
C:\kde_master_d\calligra\src\calligra\krita\plugins\formats\psd\psd_image_data.cpp(368) : warning C4018: '<' : signed/unsigned mismatch
C:\kde_master_d\calligra\src\calligra\krita\plugins\formats\psd\psd_image_data.cpp(430) : warning C4018: '<' : signed/unsigned mismatch
C:\kde_master_d\calligra\src\calligra\krita\plugins\formats\psd\psd_image_data.cpp(432) : warning C4996: 'KisPaintDevice::createHLineIterator': was declared deprecated
        C:\kde_master_d\calligra\src\calligra\krita\image\kis_paint_device.h(640) : see declaration of 'KisPaintDevice::createHLineIterator'
C:\kde_master_d\calligra\src\calligra\krita\plugins\formats\psd\psd_image_data.cpp(476) : warning C4018: '<' : signed/unsigned mismatch
[100%] Building CXX object krita/plugins/formats/psd/CMakeFiles/kritapsdexport.dir/compression.obj
compression.cpp
Linking CXX shared module ..\..\..\..\bin\kritapsdexport.dll
LINK : ..\..\..\..\bin\kritapsdexport.dll not found or not built by the last incremental link; performing full link

   Creating library ..\..\..\..\bin\kritapsdexport.lib and object ..\..\..\..\bin\kritapsdexport.exp

[100%] Built target kritapsdexport
Generating psd_import.moc

Generating psd_loader.moc

[100%] Built target kritapsdimport_automoc
[100%] Building CXX object krita/plugins/formats/psd/CMakeFiles/kritapsdimport.dir/kritapsdimport_automoc.obj
kritapsdimport_automoc.cpp
[100%] Building CXX object krita/plugins/formats/psd/CMakeFiles/kritapsdimport.dir/psd_import.obj
psd_import.cc
[100%] Building CXX object krita/plugins/formats/psd/CMakeFiles/kritapsdimport.dir/psd_loader.obj
psd_loader.cpp
[100%] Building CXX object krita/plugins/formats/psd/CMakeFiles/kritapsdimport.dir/psd.obj
psd.cpp
[100%] Building CXX object krita/plugins/formats/psd/CMakeFiles/kritapsdimport.dir/psd_utils.obj
psd_utils.cpp
[100%] Building CXX object krita/plugins/formats/psd/CMakeFiles/kritapsdimport.dir/psd_header.obj
psd_header.cpp
[100%] Building CXX object krita/plugins/formats/psd/CMakeFiles/kritapsdimport.dir/psd_colormode_block.obj
psd_colormode_block.cpp
[100%] Building CXX object krita/plugins/formats/psd/CMakeFiles/kritapsdimport.dir/psd_resource_section.obj
psd_resource_section.cpp
[100%] Building CXX object krita/plugins/formats/psd/CMakeFiles/kritapsdimport.dir/psd_resource_block.obj
psd_resource_block.cpp
[100%] Building CXX object krita/plugins/formats/psd/CMakeFiles/kritapsdimport.dir/psd_layer_section.obj
psd_layer_section.cpp
[100%] Building CXX object krita/plugins/formats/psd/CMakeFiles/kritapsdimport.dir/psd_layer_record.obj
psd_layer_record.cpp
C:\kde_master_d\calligra\src\calligra\krita\plugins\formats\psd\psd_layer_record.cpp(547) : warning C4996: 'KisPaintDevice::createHLineIterator': was declared deprecated
        C:\kde_master_d\calligra\src\calligra\krita\image\kis_paint_device.h(640) : see declaration of 'KisPaintDevice::createHLineIterator'
C:\kde_master_d\calligra\src\calligra\krita\plugins\formats\psd\psd_layer_record.cpp(654) : warning C4996: 'KisPaintDevice::createHLineIterator': was declared deprecated
        C:\kde_master_d\calligra\src\calligra\krita\image\kis_paint_device.h(640) : see declaration of 'KisPaintDevice::createHLineIterator'
C:\kde_master_d\calligra\src\calligra\krita\plugins\formats\psd\psd_layer_record.cpp(766) : warning C4996: 'KisPaintDevice::createHLineIterator': was declared deprecated
        C:\kde_master_d\calligra\src\calligra\krita\image\kis_paint_device.h(640) : see declaration of 'KisPaintDevice::createHLineIterator'
[100%] Building CXX object krita/plugins/formats/psd/CMakeFiles/kritapsdimport.dir/psd_image_data.obj
psd_image_data.cpp
C:\kde_master_d\calligra\src\calligra\krita\plugins\formats\psd\psd_image_data.cpp(115) : warning C4018: '<' : signed/unsigned mismatch
C:\kde_master_d\calligra\src\calligra\krita\plugins\formats\psd\psd_image_data.cpp(220) : warning C4018: '<' : signed/unsigned mismatch
C:\kde_master_d\calligra\src\calligra\krita\plugins\formats\psd\psd_image_data.cpp(222) : warning C4996: 'KisPaintDevice::createHLineIterator': was declared deprecated
        C:\kde_master_d\calligra\src\calligra\krita\image\kis_paint_device.h(640) : see declaration of 'KisPaintDevice::createHLineIterator'
C:\kde_master_d\calligra\src\calligra\krita\plugins\formats\psd\psd_image_data.cpp(267) : warning C4018: '<' : signed/unsigned mismatch
C:\kde_master_d\calligra\src\calligra\krita\plugins\formats\psd\psd_image_data.cpp(322) : warning C4018: '<' : signed/unsigned mismatch
C:\kde_master_d\calligra\src\calligra\krita\plugins\formats\psd\psd_image_data.cpp(324) : warning C4996: 'KisPaintDevice::createHLineIterator': was declared deprecated
        C:\kde_master_d\calligra\src\calligra\krita\image\kis_paint_device.h(640) : see declaration of 'KisPaintDevice::createHLineIterator'
C:\kde_master_d\calligra\src\calligra\krita\plugins\formats\psd\psd_image_data.cpp(368) : warning C4018: '<' : signed/unsigned mismatch
C:\kde_master_d\calligra\src\calligra\krita\plugins\formats\psd\psd_image_data.cpp(430) : warning C4018: '<' : signed/unsigned mismatch
C:\kde_master_d\calligra\src\calligra\krita\plugins\formats\psd\psd_image_data.cpp(432) : warning C4996: 'KisPaintDevice::createHLineIterator': was declared deprecated
        C:\kde_master_d\calligra\src\calligra\krita\image\kis_paint_device.h(640) : see declaration of 'KisPaintDevice::createHLineIterator'
C:\kde_master_d\calligra\src\calligra\krita\plugins\formats\psd\psd_image_data.cpp(476) : warning C4018: '<' : signed/unsigned mismatch
[100%] Building CXX object krita/plugins/formats/psd/CMakeFiles/kritapsdimport.dir/compression.obj
compression.cpp
Linking CXX shared module ..\..\..\..\bin\kritapsdimport.dll
LINK : ..\..\..\..\bin\kritapsdimport.dll not found or not built by the last incremental link; performing full link

   Creating library ..\..\..\..\bin\kritapsdimport.lib and object ..\..\..\..\bin\kritapsdimport.exp

[100%] Built target kritapsdimport
Comment 3 Halla Rempt 2013-07-14 10:00:38 UTC
Hi! Do you still have these images? We're putting some time in the psd filter atm, but I appear to have lost the zipfile :-(
Comment 4 Silvio Grosso 2013-07-14 14:21:58 UTC
Hi boud,

These old images work fine now with the 2.8 alpha version.

Just to test myself Krita with the psd format I have downloaded some psd files from internet (since my personal psd images work as a treat with Krita).
I tested them myself with Photoshop CS2.

Here you can download a zip file with 5 psd images:
https://dl.dropboxusercontent.com/u/3095134/BUGS_REPORT/PSD_KRITA_PROBLEMS/PSD_KRITA_PROBLEMS.zip
In addition, there are these same 5 images saved as jpg-png (with their right look).

All of them have some problems with Krita (both on the Alpha 2.8.7 Windows and Linux versions)
In short, their layers are  often grouped together and Krita fails to put-show these layers correctly.
Some image have "distorted colours" (e.g. sun-icon image). 
The fruit-image has some "off-set" layer problem.
Even Gimp 2.8 can not open them fine.
Strangely enough, on Windows 7, Picasa 3.9 (build 136.20) visualize most of them fine (actually, all except the Usb_key image) :-)

Another image not shown  fine is a psd one which has a lab-colour background:
https://dl.dropboxusercontent.com/u/3095134/BUGS_REPORT/TREE_LAB_COLOR.PSD

Probably this is a missing psd feature on Krita 2.8.
Neither Gimp nor Picasa could show this lab psd-image (you are forced to use Photoshop).






>________________________________
> Da: Boudewijn Rempt <boud@valdyas.org>
>A: grossosilvio@yahoo.it 
>Inviato: Domenica 14 Luglio 2013 12:00
>Oggetto: [krita] [Bug 289857] Krita 2.4(b5): Unable to show  correctly any PSD images
> 
>
>https://bugs.kde.org/show_bug.cgi?id=289857
>
>--- Comment #3 from Boudewijn Rempt <boud@valdyas.org> ---
>Hi! Do you still have these images? We're putting some time in the psd filter
>atm, but I appear to have lost the zipfile :-(
>
>-- 
>You are receiving this mail because:
>You reported the bug.
>
>
>
Comment 5 Halla Rempt 2013-07-15 08:46:32 UTC
Awesome, thanks!

Camilla is going to look into psd issues :-)
Comment 6 Halla Rempt 2013-09-25 15:08:46 UTC
CLOCK.PSD, SUN_ICON.PSD, USB_KEY.PSD are still broken, the rest is fixed.
Comment 7 Halla Rempt 2014-01-02 12:08:37 UTC
All these issues boil down to us not supporting Photoshop group layers yet.
Comment 8 Halla Rempt 2014-03-11 09:31:15 UTC
*** Bug 331924 has been marked as a duplicate of this bug. ***
Comment 9 Sven Langkamp 2014-04-03 10:44:41 UTC
Git commit 9f4c1dbc751ce8e2f9818ae01ff07f8c40a13eba by Sven Langkamp.
Committed on 03/04/2014 at 10:43.
Pushed by langkamp into branch 'master'.

add import for PSD layer groups

M  +37   -8    krita/plugins/formats/psd/psd_loader.cpp

http://commits.kde.org/calligra/9f4c1dbc751ce8e2f9818ae01ff07f8c40a13eba
Comment 10 Halla Rempt 2014-04-10 08:27:50 UTC
Git commit 4cd176b752809af97875dbbe629638dbf7c9267c by Boudewijn Rempt, on behalf of Sven Langkamp.
Committed on 03/04/2014 at 10:43.
Pushed by rempt into branch 'calligra/2.8'.

add import for PSD layer groups

M  +37   -8    krita/plugins/formats/psd/psd_loader.cpp

http://commits.kde.org/calligra/4cd176b752809af97875dbbe629638dbf7c9267c
Comment 11 Halla Rempt 2014-05-23 12:00:52 UTC
*** Bug 317829 has been marked as a duplicate of this bug. ***
Comment 12 Stuart Dickson 2014-05-30 15:40:22 UTC
Git commit 3a1279c984cac222437474e7069f0b4a6a041343 by Stuart Dickson, on behalf of Sven Langkamp.
Committed on 03/04/2014 at 10:43.
Pushed by dickson into tag 'steam-227926'.

add import for PSD layer groups

M  +37   -8    krita/plugins/formats/psd/psd_loader.cpp

http://commits.kde.org/calligra/3a1279c984cac222437474e7069f0b4a6a041343
Comment 13 Halla Rempt 2015-01-24 10:09:15 UTC
*** Bug 343228 has been marked as a duplicate of this bug. ***
Comment 14 mvowada 2015-03-21 12:52:39 UTC
*** Bug 345373 has been marked as a duplicate of this bug. ***
Comment 15 Halla Rempt 2015-05-14 15:04:44 UTC
http://quickgit.kde.org/?p=calligra.git&a=commit&h=27d28c3d7ee404e8e35513c969dcd2eadefb1938 implements saving group layers in psd.