2017-10-05 21 views

答えて

0

これはimagemagicのa buga featureです。 機能一部引用すると:

をそれはあなたがしたい場合は、ファイルは、そのため以前PNG24またはPNG32

た場合でも、画像コンテンツに基づいてImageMagickのはPNG8 に設定しようと判明します最終的に画像あたり3チャンネルで終了する場合は、png24フォーマット(3チャンネルx8ビット/チャンネル)を設定する必要があります。

だから、解決策は以下のとおりです。

# for a single image, with a different output 
convert input.png -type TrueColor png24:output.png 

# for a batch of images, IN_PLACE !!! BE VERY CAREFUL 
mogrify -define png:format=png24 -type TrueColor *.png 

それはmogrifyは、元の画像を復元する方法はありませんように、これはあなたが望むものであることを確認する場所に彼らにを修正することを認識することが必須です。

+1

PNGはsRGB(CMYKなし)のみをサポートしているため、-colorspace RGBを追加すると、イメージは非線形の色sRGBではなく線形の色になります。 RGBとsRGBが入れ替わった非常に古いIMバージョンを使用していない限り、私はそれを削除します。また、適切なIM構文は、設定や演算子を提供する前にラスタ入力を読み込みます。ですから、convertコマンドでまず入力したPNGを読み込みます。 – fmw42

+0

@ fmw42アドバイスをいただきありがとうございます!なぜ「眠く」がとても遅いのか? 18枚の画像で約32秒かかります。私がフォルダを見ると、プロセスで中間ファイルが作成されているのがわかります。たぶん小さなメモリバッファを使用し、イメージが大きい場合は、メモリを使用できるのに、ディスクを使用します。 –

+0

'-path/some/where/else'を設定することで、ファイルがインプレースで変更されるのを避けることができます。 –

関連する問題