2009-11-08 3 views
1

Теперь он черный.Как изменить цвет фона изображения на зеленый?

function show(){ 
    $word=array("a","b","c","d","e","f"); 
    $name=$word[rand(0,5)]; 
    $im=imagecreatetruecolor(62,20); 
    $black=imagecolorallocate($im,rand(20,100),rand(20,100),rand(20,100)); 
    $white=imagecolorallocate($im,255,255,255); 

    imagettftext($im,14,1,15,17,$white,'simkai.ttf',$name); 

    for($i=0;$i<200;$i++) 
    { 
      $randcolor = ImageColorallocate($im,rand(0,255),rand(0,255),rand(0,255)); 
      imagesetpixel($im, rand()%70 , rand()%30 , $randcolor); 
    } 
    header("content-type: image/jpeg"); 
    imagejpeg($im); 
} 

ответ

2

Вы можете использовать imagefill, чтобы заполнить фон цветом. Также, пожалуйста, не добавляйте переменную $black, но вы ее никогда не используете? это нормально?

function show(){ 
    $word=array("a","b","c","d","e","f"); 
    $name=$word[rand(0,5)]; 
    $im=imagecreatetruecolor(62,20); 
    $black=imagecolorallocate($im,rand(20,100),rand(20,100),rand(20,100)); 
    $white=imagecolorallocate($im,255,255,255); 
    imagefill ($im , 0 ,0 , 0) 
    imagettftext($im,14,1,15,17,$white,'simkai.ttf',$name); 

    for($i=0;$i<200;$i++) 
    { 
      $randcolor = ImageColorallocate($im,rand(0,255),rand(0,255),rand(0,255)); 
      imagesetpixel($im, rand()%70 , rand()%30 , $randcolor); 
    } 
    header("content-type: image/jpeg"); 
imagejpeg($im); 
} 
+0

Пожалуйста, положить Сие-двоеточие в конце строки 7 – Shafizadeh

1

Если вы перебираете пиксели и знаете, какой цвет является «фоном», просто добавьте условие. Но лучше всего использовать изображение с прозрачностью для фона.

+0

он, кажется, использовать формат JPEG, что означает, что нет никакой прозрачности была бы другая история с PNG – RageZ

Смежные вопросы