2016-07-28 2 views
0

でのImageMagickを使用しています。 は私が行うと:私は、サーバーでのJPGへのPSDを変換する必要があると私はImageMagickのを使用してのJPGへのPSDを変換するRubyスクリプトを書いたルビー

convert test.psd[0] -scale 300x300 test.jpg 

この変換が正常に動作します。しかし、私はのPSDのリストを持っていると私はループ内でそれらを取得する場合、同じコマンドを達成するためにどのように場合。

私が行うと、私はエラーを取得する - 変換:いいえデコードデリゲートを私は何をしないのです この画像フォーマット

File.open("#{file_name}", "wb") do |f| 
f.write(data) #create a psd file 
jpg_file = file_name.gsub(".psd",".jpg") 
psd_file = file_name.gsub(".psd",".psd[0]") 
system('convert "#{psd_file}" -scale 302x302 "#{jpg_file}" ') 

終わりか?私はrmagickを使用する必要がありますか?事前に 感謝:)

答えて

1

Rubyは唯一の二重引用符で囲まれた文字列を補間します。代わりにこれを試してください:あなたはまた、ちょうどf.writeendを移動する場合があります

system("convert '#{psd_file}' -scale 302x302 '#{jpg_file}' ") 

また、"#{file_name}"file_nameとまったく同じであることに注意してください。

0
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} ") 

必要colorprofilesへのパスは、 '#{Rails.root} /lib/folder_name/AdobeRGB1998.icc' 及び「#{Rails.root}によってspecifedさ/ LIB /フォルダ名/ sRGB_IEC61966-2-1_black_scaled .icc」

+0

これが答えであるが、また、あなたの答えをフォーマットがあれば、あなたの答えにexplnationを提供してくださいかもしれないが –

関連する問題