5-3ImagemagickTips365 画像の色を入れ替える
Level1
Pointimagick::paintOpaqueImage()を使う
ある特定の色を他の色に変更する方法を解説します。
ここでは「364」で作成した信号機の画像を元画像として使います(画像1)。実際に画像を見てみると、変なことに気が付きます。普通の信号機とは赤と青の位置が逆なのです。ですので、この画像の赤と青の色を入れ替えてみましょう。リスト1を見てください。実行画面が画面1です。imagick::paintOpaqueImage()を使えば簡単に色を置換することができます。ここでは、赤を一旦緑に置換し、青信号を赤にします。最後に、緑を赤信号に変換します。
<?php
//Imagickオブジェクト
$image = new Imagick('365.gif');
//色を置換
$image->paintOpaqueImage('red','green', 0); //赤を緑に
$image->paintOpaqueImage('blue','red', 0); //青を赤に
$image->paintOpaqueImage('green','blue', 0);
この記事は会員限定です。会員登録をすると続きをお読みいただけます。
ログイン / 新規登録