2017-02-28 309 views
0

我用下面的代码在Ruby中产生的PSD成JPG格式 -ImageMagick的 - PSD转换为JPG - 生成空白影像

process_file = abc.psd[0] 
jpg_file = abc.jpg 

system ("convert #{process_file} "\ 
    "-profile '#{Rails.root}/lib/folder_name/AdobeRGB1998.icc' "\ 
    "-profile '#{Rails.root}/lib/folder_name/sRGB_IEC61966-2-1_black_scaled.icc'"\ 
    "-scale 3072x3072 -quiet #{jpg_file} ") 

但对于一些月台幕门,生成的JPG文件是在服务器空白影像。经过一番研究,我发现了一种方法-flatten,但它并不总能获得正确的结果。那么,是否有一种适合所有人的解决方案,适用于任何psds层(以及任何尺寸的psd)。任何调整上述代码表示赞赏。

代码修改时,我使用的扁平化:

process_file = abc.psd 
jpg_file = abc.jpg 

system ("convert #{process_file} "\ 
    "-profile '#{Rails.root}/lib/folder_name/AdobeRGB1998.icc' "\ 
    "-profile '#{Rails.root}/lib/folder_name/sRGB_IEC61966-2-1_black_scaled.icc' "\ 
    "-flatten -scale 3072x3072 -quiet #{jpg_file} ") 

回答

2

我不是这个肯定的,但我怀疑它是与预览。

相信的Adobe一般创建整个文档的预览作为一个PSD第一“层”和你的脚本可能出现故障时,有没有内置的预览,然后你需要有ImageMagick的收集所有并将它们拼合成单个一致的整体图像。

我建议你检查你的选项Photoshop至于你是否嵌入预览。对不起,这不是我最具体的答案,但它可能会有所帮助。