我在這個星期寫代碼來動態地改變圖像的顏色。只要圖像是方形或矩形,下面的代碼完美地工作。然而,我有一個圓角的圖像(填充專色,角落外面的背景是白色的。)使用PHP GD庫轉換圖像的顏色/色調。抓住?它有圓角
有人可以告訴我,是否有簡單的方法使用imagecolorset對具有圓角的圖像着色函數(或任何其他的PHP方法)?
我只希望圖像的非白色區域被着色(如果你想知道,我不允許將白色應用於圖像)。
請注意,也許更好的方法是使用具有透明背景的PNG圖像(而不是我的gif圖像)。如果您認爲這是一種更好的方法,請告知。
下面是我的工作的功能...
function set_theme_color_header($hex)
{
$info = hexToRGB($hex); //calls a helper function which translates the hex to RGB
$img = imagecreatefromgif('header-template.gif'); //again, this could be a PNG image, but we always start with this image, then create a color copy
$color = imagecolorallocate($img, $info["red"], $info["green"], $info["blue"]);
imagecolorset($img, 0, $info["red"], $info["green"], $info["blue"]);
imagegif($img, 'header.gif'); //only problem is that the imagecolorset function creates a messy fill at the corners
}