Nasıl imagecolorallocate bir renk verebilir?

2 Cevap php

Ben renk hakkında bilgi içeren bir PHP değişkeni var. Örneğin $text_color = "ff90f3". Şimdi imagecolorallocate bu renk vermek istiyorum. imagecolorallocate gibi çalışır:

imagecolorallocate($im, 0xFF, 0xFF, 0xFF);

Yani, aşağıdakileri yapmaya çalışıyorum:

$r_bg = bin2hex("0x".substr($text_color,0,2));
$g_bg = bin2hex("0x".substr($text_color,2,2));
$b_bg = bin2hex("0x".substr($text_color,4,2));
$bg_col = imagecolorallocate($image, $r_bg, $g_bg, $b_bg);

Bu çalışmıyor. Neden? Ben bin2hex olmadan da deneyin, o da işe yaramadı. Herkes bu konuda bana yardımcı olabilir misiniz?

2 Cevap

Kullan hexdec() (exemple: hexdec("a0"))

http://fr2.php.net/manual/en/function.hexdec.php

Dan http://forums.devshed.com/php-development-5/gd-hex-resource-imagecolorallocate-265852.html

function hexColorAllocate($im,$hex){ 
    $a = hexdec(substr($hex,0,2));
    $b = hexdec(substr($hex,2,2));
    $c = hexdec(substr($hex,4,2));
    return imagecolorallocate($im, $a, $b, $c); 
}

Kullanım

$img = imagecreatetruecolor(300, 100);
$color = hexColorAllocate($img, 'ffff00');
imagefill($img, 0, 0, $color);