daslex
Новичок
Предполагалось, что будут цвета только красный, зелёный или синий со случайно выбранной яркостью, на простой фон в виде закрашенной фигуры закрашенные фигуры рисуются правильным цветом, а если накладывать на загруженную картинку, цвета странно смешиваются.
На фон в виде закрашенного прямоугольника закрашенные квадраты наложились верными цветами![2.jpg](/talk/data/attachments/1/1076-92108b854a1ddf07cc8e408a17794d1f.jpg)
На загруженную картинку фона закрашенные квадраты появились неправильными цветами (жёлтого цвета код вообще не предполагает)
![1.jpg](/talk/data/attachments/1/1075-088a739a8eadc9fcb84db229de81c649.jpg)
PHP:
<?php
function rndrgb($img,$color,$min,$max){
srand();
$rnd = mt_rand(150,255);
switch ($color){
case "red": return imagecolorallocate($img,mt_rand($min,$max)+0,0,0);
case "green": return imagecolorallocate($img,0, mt_rand($min,$max)+0,0);
case "blue": return imagecolorallocate($img,0,0,mt_rand($min,$max)+0);
}
}
/*ЗАДАНИЕ ЗНАЧЕНИЙ И КОНСТАНТ*/
define("mincolor",0);
define("maxcolor",255);
$color_arr= [
"red",
"green",
"blue",
];
$str_arr = ["OPOP","dsfs","sdhhhhhh","aaaa"];
$x = 10; $y = 10; $dx = 10; $dy = 10;
$img = imagecreatefromgif("pic.gif"); //Тут капризы
//$img = imagecreatetruecolor(560,80);
//imagefilledrectangle($img,0,0,560,80,imagecolorallocate($img,192,192,192)); //Если так, то будет правильно
$color = imagecolorallocate($img,mt_rand(0,255),mt_rand(0,255),mt_rand(0,255));
/*КОНЕЦ ЗАДАНИЙ ЗНАЧЕНИЙ И КОНСТАНТ*/
shuffle($color_arr);
imageantialias($img,true);
foreach ($str_arr AS $key=>$value){
for ($j=0;$j<strlen($value);$j++){
$color = $color_arr[$key % count($color_arr)];
$rgb = rndrgb($img,$color,mincolor,maxcolor);
imagefilledrectangle($img,$x,$y,$x+$dx,$y+$dy,$rgb);
$x+=20;
}
$x+=20;
}
header("Content-Type: image/gif");
imageGif($img);
imagedestroy($img);
?>
![2.jpg](/talk/data/attachments/1/1076-92108b854a1ddf07cc8e408a17794d1f.jpg)
На загруженную картинку фона закрашенные квадраты появились неправильными цветами (жёлтого цвета код вообще не предполагает)
![1.jpg](/talk/data/attachments/1/1075-088a739a8eadc9fcb84db229de81c649.jpg)