Правила     Закладки     Карма    Календарь    Журналы    Помощь    Поиск    PDA    Чат   
        СМС-ки
   
Пейджер выключен!
 
Фильтр авторов:    показать 
  скрыть
  Ответ в темуСоздание новой темыСоздание опроса

> Закрасить квадраты
daslex  
 ۩  [x] Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Новичок
*

Профиль
Группа: Пользователь
Сообщений: 11
Пользователь №: 43368
На форуме: 2 месяца, 29 дней
Карма:




function rndrgb($color){    //Генерация случайного оттенка выбранного цвета 
$rnd = mt_rand(100,255);
switch ($color){
case "red": return "rgb(".$rnd.",0,0)";
case "green": return "rgb(0,".$rnd.",0)";
case "blue": return "rgb(0,0,".$rnd.")";
}
return "rgb(0,".$rnd.",0)";
}


<?php
include ("functions.php");

$color_arr= [
"red",
"green",
"blue",
];

shuffle($color_arr);

$str_arr = ["OPOP","dsfs","sdhhhhhh"];


$img = imageCreateTrueColor(500,40);
imagefilledrectangle($img,0,0,560,480,imagecolorallocate($img,192,192,192));


imageantialias($img,true);

$x = 10;
$y = 10;
$dx = 10;
$dy = 10;

$rgb = 0;
for ($i=0;$i<count($str_arr);$i++){
for ($j=0;$j<strlen($str_arr[$i]);$j++){
/*ВЫБОР ОТТЕНКА*/
switch( $color_arr[$i % count($color_arr)]){
case "red": $rgb = imagecolorallocate($img, 0+rndrgb("red"),0, 0); break;
case "green": $rgb = imagecolorallocate($img, 0, 0+rndrgb("green"), 0); break;
case "blue": $rgb = imagecolorallocate($img, 0, 0, 0+rndrgb("blue")); break;
}
/*КОНЕЦ ВЫБОРА ОТТЕНКА*/

imagefilledrectangle($img,$x,$y,$x+$dx,$y+$dy,$rgb); //<-- Не красятся
$x+=20;
}
$x+=20;
}



header("Content-Type: image/gif");

imageGif($img);
imagedestroy($img);

?>

В $rgb оказывается ноль, а должны быть случайные значения, в итоге квадраты не закрашиваются цветами.
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
redreem  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 4259
Пользователь №: 29002
На форуме: 5 лет, 4 месяца, 10 дней
Карма: 147




      case "red":   $rgb =  imagecolorallocate($img, mt_rand(100,255),0, 0);     break;
case "green": $rgb = imagecolorallocate($img, 0, mt_rand(100,255), 0); break;
case "blue": $rgb = imagecolorallocate($img, 0, 0, mt_rand(100,255)); break;


то, что вы пытались сделать - вообще не понятно.
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
daslex  
 ۩  [x] Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Новичок
*

Профиль
Группа: Пользователь
Сообщений: 11
Пользователь №: 43368
На форуме: 2 месяца, 29 дней
Карма:




Цитата (redreem @ 11.09.2016 - 17:44)
      case "red":   $rgb =  imagecolorallocate($img, mt_rand(100,255),0, 0);     break;
      case "green": $rgb =  imagecolorallocate($img, 0, mt_rand(100,255), 0);  break;
      case "blue":  $rgb =  imagecolorallocate($img, 0, 0, mt_rand(100,255));  break;


то, что вы пытались сделать - вообще не понятно.

Обход массива
$color_arr= [
"red",
"green",
"blue",
];


На каждой итерации цикла обхода получается один из трёх элементов массива. В зависимости от того, какое у текущего элемента значение, происходит выбор цвета.

case "red":   случайный красный     break;
case "green": случайный зелёный break;
case "blue": случайный синий break;


В $rgb должен прописаться один из трёх вариантов:

Красный - rgb(случайное число,0,0)
Зелёный - rgb(0,случайное число,0)
Синий - rgb(0,0,случайное число)

Этим цветом должен закрашиваться квадрат.
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
daslex  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Новичок
*

Профиль
Группа: Пользователь
Сообщений: 11
Пользователь №: 43368
На форуме: 2 месяца, 29 дней
Карма:




Вот такого вида окраска:
user posted image

Это сообщение отредактировал daslex - 11.09.2016 - 18:20
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Kusss  
[x] Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 1358
Пользователь №: 28976
На форуме: 5 лет, 4 месяца, 12 дней
Карма: 77




$color_arr= [
"red",
"green",
"blue",
];

shuffle($color_arr);


$str_arr = ["OPOP","dsfs","sdhhhhhh"];


$img = imageCreateTrueColor(500,40);
imagefilledrectangle($img,0,0,560,480,imagecolorallocate($img,192,192,192));


imageantialias($img,true);

$x = 10;
$y = 10;
$dx = 10;
$dy = 10;

$rgb = 0;
foreach ($str_arr AS $key=>$value){
$color = $color_arr[$key % count($color_arr)];
for ($j=0;$j<strlen($value);$j++){

/*ВЫБОР ОТТЕНКА*/
switch($color){
case "red":
$rgb = imagecolorallocate($img, 0+mt_rand(100,255), 0, 0);
break;
case "green":
$rgb = imagecolorallocate($img, 0, 0+mt_rand(100,255), 0);
break;
case "blue":
$rgb = imagecolorallocate($img, 0, 0, 0+mt_rand(100,255));
break;
}
/*КОНЕЦ ВЫБОРА ОТТЕНКА*/

imagefilledrectangle($img,$x,$y,$x+$dx,$y+$dy,$rgb);
$x+=20;
}
$x+=20;
}



header("Content-Type: image/gif");

imageGif($img);
imagedestroy($img);


Это сообщение отредактировал Kusss - 11.09.2016 - 20:19
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
daslex  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Новичок
*

Профиль
Группа: Пользователь
Сообщений: 11
Пользователь №: 43368
На форуме: 2 месяца, 29 дней
Карма:




Спасибо!
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
redreem  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 4259
Пользователь №: 29002
На форуме: 5 лет, 4 месяца, 10 дней
Карма: 147




спасибо куссу за то, что он написал тоже самое... мде... дибилоиды-студенты процветао.
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
daslex  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Новичок
*

Профиль
Группа: Пользователь
Сообщений: 11
Пользователь №: 43368
На форуме: 2 месяца, 29 дней
Карма:




А если мне надо наложить на зараннее загруженную картинку?

$img = imagecreatefromgif("picture.gif"); //Фон
//На фон квадраты
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
daslex  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Новичок
*

Профиль
Группа: Пользователь
Сообщений: 11
Пользователь №: 43368
На форуме: 2 месяца, 29 дней
Карма:




redreem
Успокойтесь, Вы тут не поняли, там не увидели. Не паникуйте.

Человек написал мне работающий код, мой код неверен.
Я просто написал общее спасибо, не личное.

Это сообщение отредактировал daslex - 11.09.2016 - 22:23
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
daslex  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Новичок
*

Профиль
Группа: Пользователь
Сообщений: 11
Пользователь №: 43368
На форуме: 2 месяца, 29 дней
Карма:




Если я загружаю на фон, то окрас неверный, должны были получиться цвета разных видов, а получается что-то неопределённое:
user posted image

Поэтому, как загружать на фон?

Это сообщение отредактировал daslex - 11.09.2016 - 22:37
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
daslex  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Новичок
*

Профиль
Группа: Пользователь
Сообщений: 11
Пользователь №: 43368
На форуме: 2 месяца, 29 дней
Карма:




Всё. Ответ не нужен. Проблема в палитре. При загрузке файла получается не RGB палитра.

Создаётся отдельный холст RGB, в него копируется то, что загружено как картинка, на этом новом холсте рисуется рисунок.

PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
  Быстрый ответ
Информация о Госте
Введите Ваше имя
Кнопки кодов
Для вставки цитаты, выделите нужный текст и
НАЖМИТЕ СЮДА
Введите сообщение
Смайлики
:huh:  :o  ;) 
:P  :D  :lol: 
B)  :rolleyes:  <_< 
:)  :angry:  :( 
:unsure:  :blink:  :ph34r: 
     
Показать всё

Опции сообщения  Включить смайлики?
 Включить подпись?
 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:

Опции темы Ответ в темуСоздание новой темыСоздание опроса