私は私のサーバーに保存されている黒と白のJPEGのコレクションを持っています。これらの画像はシンボルベースで、シンボルは白い背景上の黒線の集まりです。PHP/GDでJPEGに色を重ねて表示していますか?
GDを使用して、渡された変数に基づいてオンザフライで別の色に置き換えようとしています。現在、私は:
はJPEGを取得するよう:$イメージ= imagecreatefromjpeg($ imgURL)、 、PHPを通じてRGBへ(#FF0000の、と言う)HEXコードを変換する
そして、これらの変数を供給する。
private function colourize_image($image, $colour, $contrast = 0) {
if (!$image) { return false; }
imagealphablending($image, true);
imagesavealpha($image, true);
# Convert hex colour into RGB values
$r = hexdec('0x' . $colour{0} . $colour{1});
$g = hexdec('0x' . $colour{2} . $colour{3});
$b = hexdec('0x' . $colour{4} . $colour{5});
imagefilter($image, IMG_FILTER_COLORIZE, $r, $g, $b);
imagefilter($image, IMG_FILTER_CONTRAST, $contrast);
# Return the GD image object
return $image;
}
何らかの理由で、何らかの理由で機能が動作しません(新しい色にオーバーレイされません)。
どこに間違っているのかアドバイスできますか?
多くのありがとうございます。
$カラーはどのように渡されますか?変数にアクセスするためのこの{0}表記は見たことがありません。 –
白の「FFFFFF」のような文字列の場合は、中括弧ではなく、角括弧を使用する必要があります。 –