ImageMagick 6605
Using a test file 600.png www.lipowiec.org\im\600.png
1) convert 600.png 600.psb can not be opened by CS4 Photoshop
2) I compared the headers for files PSD and PSB created by CS4PS and IM6605
there appeared a difference in the Number of Channels field
CS4PS had value 1
IM6605 had a value of 3
3) I then created used IM6605 to create PNG compress none to create another PNG
then looked at headers CS4PS and IM6605 create when making PSD and PSB from this new PNG
In header Number of Channels field
CS4PS had value 4
IM6605 still has a value of 3
NOTE even though value differ between CS4 created and IM6605 both PSDs can be opened in CS4Photoshop.
4) What would you like me to look at to help determine areas that need to be addressed?
5) if ((psd_info.version == 1) && ((psd_info.rows > 300000) || in psd.c should have info.version == 2
some info below note sure if it will help
R:\IMAGEM~2>convert -version
Version: ImageMagick 6.6.0-5 2010-03-08 Q16
http://www.imagemagick.org
Copyright: Copyright (C) 1999-2010 ImageMagick Studio LLC
Features: OpenMP
R:\IMAGEM~2>echo on
R:\IMAGEM~2>echo create PNG with NO Compress
create PNG with NO Compress
R:\IMAGEM~2>convert -compress none 600.png 600IMNC.png
R:\IMAGEM~2>pngcheck -v 600.png
File: 600.png (40324 bytes)
chunk IHDR at offset 0x0000c, length 13
256 x 256 image, 8-bit palette, non-interlaced
chunk PLTE at offset 0x00025, length 768: 256 palette entries
chunk tRNS at offset 0x00331, length 1: 1 transparency entry
chunk IDAT at offset 0x0033e, length 39474
zlib: deflated, 32K window, default compression
chunk IEND at offset 0x09d7c, length 0
No errors detected in 600.png (5 chunks, 38.5% compression).
R:\IMAGEM~2>pngcheck -v 600IMNC.png
File: 600IMNC.png (121925 bytes)
chunk IHDR at offset 0x0000c, length 13
256 x 256 image, 32-bit RGB+alpha, non-interlaced
chunk bKGD at offset 0x00025, length 6
red = 0x00ff, green = 0x00ff, blue = 0x00ff
chunk pHYs at offset 0x00037, length 9: 72x72 pixels/unit (1:1)
chunk vpAg at offset 0x0004c, length 9
unknown private, ancillary, safe-to-copy chunk
chunk IDAT at offset 0x00061, length 32768
zlib: deflated, 32K window, maximum compression
chunk IDAT at offset 0x0806d, length 32768
chunk IDAT at offset 0x10079, length 32768
chunk IDAT at offset 0x18085, length 23370
chunk tEXt at offset 0x1dbdb, length 37, keyword: date:create
chunk tEXt at offset 0x1dc0c, length 37, keyword: date:modify
chunk IEND at offset 0x1dc3d, length 0
No errors detected in 600IMNC.png (11 chunks, 53.5% compression).
R:\IMAGEM~2>echo RUN tests on original 600.png file
RUN tests on original 600.png file
R:\IMAGEM~2>echo via CS4PS took 600.png and saved as 600CS4PS.psd
via CS4PS took 600.png and saved as 600CS4PS.psd
R:\IMAGEM~2>echo via CS4PS took 600.png and saved as 600CS4PS.psb
via CS4PS took 600.png and saved as 600CS4PS.psb
R:\IMAGEM~2>echo NOTE when saving in CS4PS Save options Layers Checked, ICC Profile: sRGB IEC61966-2.1 Checked
NOTE when saving in CS4PS Save options Layers Checked, ICC Profile: sRGB IEC61966-2.1 Checked
R:\IMAGEM~2>convert 600.png 600IM.psd
R:\IMAGEM~2>convert 600.png 600IM.psb
R:\IMAGEM~2>convert -compress none 600.png 600IMNC.psd
R:\IMAGEM~2>convert -compress none 600.png 600IMNC.psb
R:\IMAGEM~2>echo NOTE -compress none has no effect same files created
NOTE -compress none has no effect same files created
R:\IMAGEM~2>psdparse -v 600CS4PS.psd
Processing "600CS4PS.psd"
PSD (version 1), 1 channels, 256 rows x 256 cols, 8 bit IndexedColor
...skipped color mode data (768 bytes)
...skipped image resources (27386 bytes)
(layer info section is empty)
## layer data begins @ 28196
## layer image data begins @ 28196
## end of layer image data @ 28196
(global layer mask info is empty)
merged channels:
>>> merged image data @ 28224
compression = 1 (RLE)
uncompressed size 65536 bytes (row bytes = 256)
done.
R:\IMAGEM~2>psdparse -v 600CS4PS.psb
Processing "600CS4PS.psb"
PSB (version 2), 1 channels, 256 rows x 256 cols, 8 bit IndexedColor
...skipped color mode data (768 bytes)
...skipped image resources (27386 bytes)
(layer info section is empty)
## layer data begins @ 28204
## layer image data begins @ 28204
## end of layer image data @ 28204
(global layer mask info is empty)
merged channels:
>>> merged image data @ 28236
compression = 1 (RLE)
uncompressed size 65536 bytes (row bytes = 256)
done.
R:\IMAGEM~2>psdparse -v 600IM.psd
Processing "600IM.psd"
PSD (version 1), 3 channels, 256 rows x 256 cols, 8 bit RGBColor
(color mode data is empty)
...skipped image resources (28 bytes)
1 layers:
layer 0: ( 0, 0, 256, 256), 4 channels ( 256 rows x 256 cols)
channel 0: 65538 bytes, id=-1 (transparency mask)
channel 1: 65538 bytes, id= 0 (R)
channel 2: 65538 bytes, id= 1 (G)
channel 3: 65538 bytes, id= 2 (B)
(extra data: 16 bytes @ 130)
(no layer mask)
(layer blending ranges is empty)
name: "L000001"
## layer data begins @ 146
## layer image data begins @ 146
layer 0 ("L000001"):
blending mode: sig='8BIM' key='norm'(normal) opacity=255(100%) clipping=0(base)
flags=0x1(transp_prot(1) visible(0) bit4valid(0) pixel_data_irrelevant(0))
channel 0:
>>> channel id = -1 @ 146, 65538 bytes
compression = 0 (raw)
uncompressed size 65536 bytes (row bytes = 256)
channel 1:
>>> channel id = 0 @ 65684, 65538 bytes
compression = 0 (raw)
uncompressed size 65536 bytes (row bytes = 256)
channel 2:
>>> channel id = 1 @ 131222, 65538 bytes
compression = 0 (raw)
uncompressed size 65536 bytes (row bytes = 256)
channel 3:
>>> channel id = 2 @ 196760, 65538 bytes
compression = 0 (raw)
uncompressed size 65536 bytes (row bytes = 256)
## end of layer image data @ 262298
(global layer mask info is empty)
merged channels:
>>> merged image data @ 262302
compression = 1 (RLE)
uncompressed size 196608 bytes (row bytes = 256)
done.
R:\IMAGEM~2>psdparse -v 600IM.psb
Processing "600IM.psb"
PSB (version 2), 3 channels, 256 rows x 256 cols, 8 bit RGBColor
(color mode data is empty)
...skipped image resources (28 bytes)
1 layers:
layer 0: ( 0, 0, 256, 256), 4 channels ( 256 rows x 256 cols)
channel 0: 65538 bytes, id=-1 (transparency mask)
channel 1: 65538 bytes, id= 0 (R)
channel 2: 65538 bytes, id= 1 (G)
channel 3: 65538 bytes, id= 2 (B)
(extra data: 16 bytes @ 154)
(no layer mask)
(layer blending ranges is empty)
name: "L000001"
## layer data begins @ 170
## layer image data begins @ 170
layer 0 ("L000001"):
blending mode: sig='8BIM' key='norm'(normal) opacity=255(100%) clipping=0(base)
flags=0x1(transp_prot(1) visible(0) bit4valid(0) pixel_data_irrelevant(0))
channel 0:
>>> channel id = -1 @ 170, 65538 bytes
compression = 0 (raw)
uncompressed size 65536 bytes (row bytes = 256)
channel 1:
>>> channel id = 0 @ 65708, 65538 bytes
compression = 0 (raw)
uncompressed size 65536 bytes (row bytes = 256)
channel 2:
>>> channel id = 1 @ 131246, 65538 bytes
compression = 0 (raw)
uncompressed size 65536 bytes (row bytes = 256)
channel 3:
>>> channel id = 2 @ 196784, 65538 bytes
compression = 0 (raw)
uncompressed size 65536 bytes (row bytes = 256)
## end of layer image data @ 262322
(global layer mask info is empty)
merged channels:
>>> merged image data @ 262322
compression = 0 (raw)
uncompressed size 196608 bytes (row bytes = 256)
done.
R:\IMAGEM~2>echo RUN tests on ImageMagick file created NO compress 600IMNC.png file
RUN tests on ImageMagick file created NO compress 600IMNC.png file
R:\IMAGEM~2>echo via CS4PS took 600IMNC.png and saved as 600IMNCCS4PS.psd
via CS4PS took 600IMNC.png and saved as 600IMNCCS4PS.psd
R:\IMAGEM~2>echo via CS4PS took 600IMNC.png and saved as 600IMNCCS4PS.psb
via CS4PS took 600IMNC.png and saved as 600IMNCCS4PS.psb
R:\IMAGEM~2>echo NOTE when saving in CS4PS Save options Layers Checked, ICC Profile: sRGB IEC61966-2.1 Checked
NOTE when saving in CS4PS Save options Layers Checked, ICC Profile: sRGB IEC61966-2.1 Checked
R:\IMAGEM~2>convert 600IMNC.png 600IMNCIM.psd
R:\IMAGEM~2>convert 600IMNC.png 600IMNCIM.psb
R:\IMAGEM~2>echo NOTE -compress none has no effect same files created
NOTE -compress none has no effect same files created
R:\IMAGEM~2>psdparse -v 600IMNCCS4PS.psd
Processing "600IMNCCS4PS.psd"
PSD (version 1), 4 channels, 256 rows x 256 cols, 8 bit RGBColor
(color mode data is empty)
...skipped image resources (32986 bytes)
(first alpha is transparency for merged image)
1 layers:
layer 0: ( 0, 0, 256, 256), 4 channels ( 256 rows x 256 cols)
channel 0: 1610 bytes, id=-1 (transparency mask)
channel 1: 62797 bytes, id= 0 (R)
channel 2: 62786 bytes, id= 1 (G)
channel 3: 62798 bytes, id= 2 (B)
(extra data: 316 bytes @ 33088)
(no layer mask)
...skipped layer blending ranges (40 bytes)
name: "Layer 0"
## layer data begins @ 33404
## layer image data begins @ 33404
layer 0 ("Layer 0"):
blending mode: sig='8BIM' key='norm'(normal) opacity=255(100%) clipping=0(base)
flags=0x8(transp_prot(0) visible(0) bit4valid(1) pixel_data_irrelevant(0))
channel 0:
>>> channel id = -1 @ 33404, 1610 bytes
compression = 1 (RLE)
uncompressed size 65536 bytes (row bytes = 256)
channel 1:
>>> channel id = 0 @ 35014, 62797 bytes
compression = 1 (RLE)
uncompressed size 65536 bytes (row bytes = 256)
channel 2:
>>> channel id = 1 @ 97811, 62786 bytes
compression = 1 (RLE)
uncompressed size 65536 bytes (row bytes = 256)
channel 3:
>>> channel id = 2 @ 160597, 62798 bytes
compression = 1 (RLE)
uncompressed size 65536 bytes (row bytes = 256)
## end of layer image data @ 223395
(global layer mask info is empty)
merged channels:
>>> merged image data @ 223436
compression = 1 (RLE)
uncompressed size 262144 bytes (row bytes = 256)
done.
R:\IMAGEM~2>psdparse -v 600IMNCCS4PS.psb
Processing "600IMNCCS4PS.psb"
PSB (version 2), 4 channels, 256 rows x 256 cols, 8 bit RGBColor
(color mode data is empty)
...skipped image resources (33420 bytes)
(first alpha is transparency for merged image)
1 layers:
layer 0: ( 0, 0, 256, 256), 4 channels ( 256 rows x 256 cols)
channel 0: 2122 bytes, id=-1 (transparency mask)
channel 1: 63309 bytes, id= 0 (R)
channel 2: 63298 bytes, id= 1 (G)
channel 3: 63310 bytes, id= 2 (B)
(extra data: 316 bytes @ 33546)
(no layer mask)
...skipped layer blending ranges (40 bytes)
name: "Layer 0"
## layer data begins @ 33862
## layer image data begins @ 33862
layer 0 ("Layer 0"):
blending mode: sig='8BIM' key='norm'(normal) opacity=255(100%) clipping=0(base)
flags=0x8(transp_prot(0) visible(0) bit4valid(1) pixel_data_irrelevant(0))
channel 0:
>>> channel id = -1 @ 33862, 2122 bytes
compression = 1 (RLE)
uncompressed size 65536 bytes (row bytes = 256)
channel 1:
>>> channel id = 0 @ 35984, 63309 bytes
compression = 1 (RLE)
uncompressed size 65536 bytes (row bytes = 256)
channel 2:
>>> channel id = 1 @ 99293, 63298 bytes
compression = 1 (RLE)
uncompressed size 65536 bytes (row bytes = 256)
channel 3:
>>> channel id = 2 @ 162591, 63310 bytes
compression = 1 (RLE)
uncompressed size 65536 bytes (row bytes = 256)
## end of layer image data @ 225901
(global layer mask info is empty)
merged channels:
>>> merged image data @ 225946
compression = 1 (RLE)
uncompressed size 262144 bytes (row bytes = 256)
done.
R:\IMAGEM~2>psdparse -v 600IMNCIM.psd
Processing "600IMNCIM.psd"
PSD (version 1), 3 channels, 256 rows x 256 cols, 8 bit RGBColor
(color mode data is empty)
...skipped image resources (28 bytes)
1 layers:
layer 0: ( 0, 0, 256, 256), 4 channels ( 256 rows x 256 cols)
channel 0: 65538 bytes, id=-1 (transparency mask)
channel 1: 65538 bytes, id= 0 (R)
channel 2: 65538 bytes, id= 1 (G)
channel 3: 65538 bytes, id= 2 (B)
(extra data: 16 bytes @ 130)
(no layer mask)
(layer blending ranges is empty)
name: "L000001"
## layer data begins @ 146
## layer image data begins @ 146
layer 0 ("L000001"):
blending mode: sig='8BIM' key='norm'(normal) opacity=255(100%) clipping=0(base)
flags=0x1(transp_prot(1) visible(0) bit4valid(0) pixel_data_irrelevant(0))
channel 0:
>>> channel id = -1 @ 146, 65538 bytes
compression = 0 (raw)
uncompressed size 65536 bytes (row bytes = 256)
channel 1:
>>> channel id = 0 @ 65684, 65538 bytes
compression = 0 (raw)
uncompressed size 65536 bytes (row bytes = 256)
channel 2:
>>> channel id = 1 @ 131222, 65538 bytes
compression = 0 (raw)
uncompressed size 65536 bytes (row bytes = 256)
channel 3:
>>> channel id = 2 @ 196760, 65538 bytes
compression = 0 (raw)
uncompressed size 65536 bytes (row bytes = 256)
## end of layer image data @ 262298
(global layer mask info is empty)
merged channels:
>>> merged image data @ 262302
compression = 1 (RLE)
uncompressed size 196608 bytes (row bytes = 256)
done.
R:\IMAGEM~2>psdparse -v 600IMNCIM.psb
Processing "600IMNCIM.psb"
PSB (version 2), 3 channels, 256 rows x 256 cols, 8 bit RGBColor
(color mode data is empty)
...skipped image resources (28 bytes)
1 layers:
layer 0: ( 0, 0, 256, 256), 4 channels ( 256 rows x 256 cols)
channel 0: 65538 bytes, id=-1 (transparency mask)
channel 1: 65538 bytes, id= 0 (R)
channel 2: 65538 bytes, id= 1 (G)
channel 3: 65538 bytes, id= 2 (B)
(extra data: 16 bytes @ 154)
(no layer mask)
(layer blending ranges is empty)
name: "L000001"
## layer data begins @ 170
## layer image data begins @ 170
layer 0 ("L000001"):
blending mode: sig='8BIM' key='norm'(normal) opacity=255(100%) clipping=0(base)
flags=0x1(transp_prot(1) visible(0) bit4valid(0) pixel_data_irrelevant(0))
channel 0:
>>> channel id = -1 @ 170, 65538 bytes
compression = 0 (raw)
uncompressed size 65536 bytes (row bytes = 256)
channel 1:
>>> channel id = 0 @ 65708, 65538 bytes
compression = 0 (raw)
uncompressed size 65536 bytes (row bytes = 256)
channel 2:
>>> channel id = 1 @ 131246, 65538 bytes
compression = 0 (raw)
uncompressed size 65536 bytes (row bytes = 256)
channel 3:
>>> channel id = 2 @ 196784, 65538 bytes
compression = 0 (raw)
uncompressed size 65536 bytes (row bytes = 256)
## end of layer image data @ 262322
(global layer mask info is empty)
merged channels:
>>> merged image data @ 262322
compression = 0 (raw)
uncompressed size 196608 bytes (row bytes = 256)
done.
R:\IMAGEM~2>crc 600*.*
CRC - Version 4.5
File CRC Size Date Time
------------ ---- -------- -------- ------
600 .PNG 5041 40324 1-29-09 9:05p
600CS4PS.PSB FB79 91547 3-12-10 8:09p
600CS4PS.PSD 4961 91023 3-12-10 8:08p
600IM .PSB 6541 268472 3-13-10 9:15a
600IM .PSD DE3B 266912 3-13-10 9:15a
600IMNC .PNG CCAE 121925 3-13-10 9:15a
600IMNC .PSB 6541 268472 3-13-10 9:15a
600IMNC .PSD DE3B 266912 3-13-10 9:15a
600IMN~1.PSB 0334 417992 3-13-10 8:47a
600IMN~1.PSD F1F8 413434 3-13-10 8:44a
600IMN~2.PSB 6541 268472 3-13-10 9:15a
600IMN~2.PSD DE3B 266912 3-13-10 9:15a
============ ==== ======== ======== ======
12 Files 2169 2782397