画像の任意のピクセルを色付け/置換する方法を知りたいのですが、不透明なピクセルで透明になります。ImageMagick/Imagick:アルファチャンネルのPNGを2色の画像に変換する(カラー、透明)
たとえば、透明なピクセルを持つ多色のロゴを使用すると、#ff0000という色のロゴに変換し、透明な背景は変更しません。
私はこれをPHP Imagick Libraryで実現したいと考えています。私は良い文書を見つけることができません。
私はImagick::thresholdImageが助手になると思っていましたが、しきい値パラメータについての説明はありません。
このコードの断片で最も良い結果が得られます。しかし、まだ完全には動作していません。いくつかのピクセル - 私は、アルファ> 0と< 1のものは置き換えられないと思います。
$image = new \Imagick($source);
$image->setImageFormat('png');
$fill = new \ImagickPixel('#ff0000');
$image->thresholdImage(0);
$image->paintOpaqueImage('#ffffff', $fill, 1);
$image->writeImage($destination);
私はあなたが実際に何をしたいのか、100%確実ではないが、私はあなたのアルファをしたいと思います/透明度チャンネルを中間値なしで100%または0%に制限する必要があるため、アルファチャンネルのしきい値を設定する必要があるため、背景色を設定したいと思う'thresholdImage(Imagick :: getQuantum()-1、imagick :: CHANNEL_ALPHA)'のようなことをしてください。 –