使用ksubileau/color-thief-php提取圖像主色調,讓你的網站更具活力

在我的一個個人項目中,我需要根據上傳的圖片動態調整網站的主題色。手動提取每張圖片的主色調顯然是不現實的,因此我開始尋找一個自動化的解決方案。我嘗試了一些在線工具和復雜的圖像處理庫,但它們要么不夠靈活,要么過于復雜,難以集成到我的項目中。

偶然間,我發現了 ksubileau/color-thief-php 這個庫。它是一個 php 庫,可以從圖像中提取主色調或代表性的調色板。它是 color thief JavaScript 庫的 php 移植版本,使用了來自 leptonica 庫的 mmcq(改進的中值切割量化)算法。

composer在線學習地址:學習地址

ksubileau/color-thief-php 的優勢在于:

  • 簡單易用: 只需要幾行代碼即可完成圖像主色調的提取。
  • 支持多種圖像格式: 支持 JPEG、PNG、GIF 和 WEBP 圖像。
  • 多種圖像處理擴展支持: 支持 GD, Imagick 或 Gmagick 擴展。
  • 靈活的配置選項: 可以調整提取質量、指定提取區域、選擇輸出格式。
  • 無需復雜的圖像處理知識: 開發者無需深入了解圖像處理算法,即可輕松使用。

安裝

使用 Composer 安裝 ksubileau/color-thief-php 非常簡單:

立即學習PHP免費學習筆記(深入)”;

composer require ksubileau/color-thief-php

使用示例

以下是一個簡單的示例,展示如何提取圖像的主色調:

require_once 'vendor/autoload.php';  use ColorThiefColorThief;  $sourceImage = 'path/to/your/image.jpg'; // 圖像路徑  try {     $dominantColor = ColorThief::getColor($sourceImage);      // $dominantColor 是一個包含 RGB 值的數組,例如:[255, 0, 0]      echo "主色調:RGB(" . implode(',', $dominantColor) . ")";  } catch (Exception $e) {     echo "提取主色調失敗:" . $e->getMessage(); } 

你還可以提取圖像的調色板:

require_once 'vendor/autoload.php';  use ColorThiefColorThief;  $sourceImage = 'path/to/your/image.jpg'; // 圖像路徑  try {     $palette = ColorThief::getPalette($sourceImage, 8); // 提取 8 種顏色      // $palette 是一個包含多個 RGB 數組的數組      echo "調色板:";     foreach ($palette as $color) {         echo "RGB(" . implode(',', $color) . ") ";     }  } catch (Exception $e) {     echo "提取調色板失?。?quot; . $e->getMessage(); }

通過簡單的配置,你可以調整提取質量、指定提取區域,甚至選擇不同的輸出格式(例如 RGB 字符串、十六進制顏色值等)。

實際應用效果

在我的項目中,我使用 ksubileau/color-thief-php 提取用戶上傳圖片的主色調,并將其應用到網站的背景色、按鈕顏色和文本顏色上。這使得網站的視覺風格能夠與用戶上傳的圖片保持一致,提升了用戶體驗。

總而言之,ksubileau/color-thief-php 是一個非常實用的 PHP 庫,它能夠幫助開發者輕松提取圖像的主色調和調色板,為網站帶來更具吸引力的視覺效果。它簡單易用、功能強大,并且具有靈活的配置選項,非常適合在各種 Web 開發項目中使用。

? 版權聲明
THE END
喜歡就支持一下吧
點贊6 分享