電子書籍の厳選無料作品が豊富!

いつもアドバイスを頂きありがとうございます。
PHPでImageMagickを使って、画像処理に挑戦しています。

そこで、質問したいのですがpngファイルの透過部分以外を
黒く変換したいのですがそのようなことは可能でしょうか?
「-threshold 100%」を使ってみたのですが、画像によっては「白」になってしまいます。

何か良い方法がありましたら、アドバイスをいただけないでしょうか。
よろしくお願いします。

A 回答 (1件)

colorizeオプションが便利です。


変換元の画像をfoo.png、変換後のファイル名をbar.pngとした場合、

convert foo.png -fill black -colorize 100 bar.png

で透過部分以外を黒く塗り潰せます。
-fill の後の色名(色コードでも可)を変更すれば塗り潰す色も変えられます。

convert foo.png -fill #ff00ff -colorize 100 bar.png

-fill のデフォルトは黒ですので、黒く塗り潰す場合は「-fill black」は省略できます。

convert foo.png -colorize 100 bar.png

colorizeの値で塗り潰す濃度が変化します。

convert foo.png -colorize 50 bar.png
    • good
    • 1
この回答へのお礼

takanami1000さま

アドバイスを頂きありがとうございます。colorizeというオプションがあるのですね。
実際に使ってみたら黒く変換することができましたが、透過も含めて黒くなってしまいました。
下記の様に記述したのですが、、、どこか問題ありますでしょうか?

convert 20180928100435.png -fill black -colorize 100 20180928100435.png

お礼日時:2018/09/28 10:08

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!