3テラバイト

プログラム関連備忘録サイト。主にゲーム。

PHP

PHPで画像ピクセルのRGB値を取得する方法

投稿日:

こんにちは、今日はPHPで画像ピクセルのRGB値を取得する方法についてまとめていきます。

確認環境

PHP 7.2.7

画像の読み込み

imagecreate系の関数を使用して画像を読み込みます。
読み込む画像ファイル形式ごとに関数が用意されているため、適当な関数を使用します。

関数説明
imagecreatefrombmphttps://www.php.net/manual/ja/function.imagecreatefrombmp.php
imagecreatefromgd2https://www.php.net/manual/ja/function.imagecreatefromgd2.php
imagecreatefromgd2parthttps://www.php.net/manual/ja/function.imagecreatefromgd2part.php
imagecreatefromgdhttps://www.php.net/manual/ja/function.imagecreatefromgd.php
imagecreatefromgifhttps://www.php.net/manual/ja/function.imagecreatefromgif.php
imagecreatefromjpeghttps://www.php.net/manual/ja/function.imagecreatefromjpeg.php
imagecreatefrompnghttps://www.php.net/manual/ja/function.imagecreatefrompng.php
imagecreatefromstringhttps://www.php.net/manual/ja/function.imagecreatefromstring.php
imagecreatefromwbmphttps://www.php.net/manual/ja/function.imagecreatefromwbmp.php
imagecreatefromwebphttps://www.php.net/manual/ja/function.imagecreatefromwebp.php
imagecreatefromxbmhttps://www.php.net/manual/ja/function.imagecreatefromxbm.php
imagecreatefromxpmhttps://www.php.net/manual/ja/function.imagecreatefromxpm.php

ピクセルカラーの取得

カラーの取得にはimagecolorat関数を使用します。
https://www.php.net/manual/ja/function.imagecolorat.php

第一引数には前の手順にて取得した画像リソースを渡し、第二引数にx座標、第三引数にy座標を渡すとその座標のRGB値が取得できます。

以下の例ではPHPファイルと同階層にあるtest.pngというファイルを読み込み、x座標が10、y座標が20のピクセルのRGB値を取得しています。

$rgbにはRGB値が、$r, $g, $bにはそれぞれR, G, Bの値が格納されます。

<?php
$img = imagecreatefrompng("test.png");
$rgb = imagecolorat($img, 10, 20);
$r = ($rgb >> 16) & 0xFF;
$g = ($rgb >> 8) & 0xFF;
$b = $rgb & 0xFF;
?>

-PHP


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

関連記事

関連記事はありませんでした