3

このコードで色空間を変更して、画像を白黒に変換しようとしています。

$im = new Imagick('image.png');
$im->setImageColorspace(Imagick::COLORSPACE_GRAY);
$im->writeImage('out.png');

ただし、このコードの後、画像に目に見える変化はありません(out.pngとimage.pngは区別がつかないように見えます)。なぜこれが起こるのかについて何か考えはありますか?これは、白黒に変換して画像化するための適切な方法ですか?他に方法はありますか?

setColorspace(Imagick :: COLORSPACE_GRAY);も試しました。同じ結果になります。

これが私が使用しているソフトウェアです:

ImageMagick 6.6.9-7
PHP 5.3.10-1ubuntu3.1
Server version: Apache/2.2.22 (Ubuntu)

編集:いくつかの追加情報

また、他の色空間(具体的には、CMYとCMYK)に変換してみましたが、視覚的な違いもありませんでした。

4

2 に答える 2

3

$im->modulateImage(100,0,100);別の方法として、代わりに試すことができますsetImageColorspace()

お役に立てれば!

于 2012-05-24T15:29:19.437 に答える
2

使用する正しい関数はImagick::transformImageColorspaceです。うーん、どうやらそれは現在文書化されていません。

ここでは、画像を変換し、その画像の単一チャネルを分析するために使用されていますhttp://www.phpimagick.com/Imagick/transformImageColorspace

于 2015-02-13T20:03:49.000 に答える