画像はインターネット上で非常に一般的であり、画像を処理するときによく必要になるのは、画像のテーマ カラーを取得することです。テーマカラーとは、画像の中で最も大きな割合を占める色を指し、通常は画像全体のスタイルを最もよく表す色です。
一般的なサーバー側プログラミング言語である PHP は、画像処理拡張ライブラリを通じて画像を操作できます。この記事では、サードパーティのライブラリである Intervention Image を使用して、画像のテーマカラーを取得する機能を実装します。
Intervention Image ライブラリは、次のコマンドを使用して Composer からインストールできます。
作曲家には介入/イメージが必要です
インストールが完了したら、画像処理のために PHP コード内でライブラリを参照できます。
//介入画像ライブラリを導入します require 'vendor/autoload.php';
InterventionImageImageManagerStatic を画像として使用します。
関数 getImageMainColor($imagePath) {
// Intervention Image を使用して画像を開けるきます $image = Image::make($imagePath);
// 画像のピクセル データを得る $pixels = $image->limitColors(16)->colors();
// 画像内のさまざまな色のピクセル数を計算するします $colorCount = array_count_values($pixels);
// ピクセル数が最大の色を検索 $mainColor = array_search(max($colorCount), $colorCount);
// テーマカラーを戻るします return $mainColor;
}
// ユースケース $imagePath = 'path/to/image.jpg'; // 画像パス $mainColor = getImageMainColor($imagePath);
echo '画像のテーマの色は二流のとおりです:' 。 $メインカラー;上記のコードでは、getImageMainColor 関数は画像パスをパラメーターとして受け取り、テーマの色を返します。まず、Intervention Image ライブラリを通じてイメージを開き、次に、limitColors メソッドを使用してイメージを 16 色のパレットに圧縮し、colors メソッドを通じてピクセル データを取得します。最後に、array_count_values を使用して各色の出現数をカウントし、最も多く出現する色をテーマ カラーとして見つけます。
コード内の $imagePath 変数を画像のパスに置き換えてから、PHP スクリプトを実行して画像のテーマ カラーを取得します。
提供されている例は基本的な実装です。実際のアプリケーションでは、より複雑なアルゴリズムを使用して特徴色の抽出、ノイズの除去、大きな画像のサンプリングなど、ニーズに応じてさらに最適化できます。
PHP を使用して画像のテーマ カラーを取得することは、Intervention Image ライブラリを通じて簡単に実現できます。この方法を使用すると、画像の主な色をすばやく取得できるため、Web デザイン、データの視覚化、その他の画像処理タスクが容易になります。