Вопрос : Заполните блок с ровной последовательностью цветов

Hi
, котор я желаю заселить элементы блока (произвольной длины) с ровным прогрессированием значений цвета. Using «BlendColors» я могу найти на полпути цвет между 2 значениями. Я хотел был бы буду опрятным алгоритмом для того чтобы заполнить каждое из этих промежуточных значений в, котор дали array.
e.g. для блока значения n
the длины на индексе n div 2 (звонок оно VI) буду BlendColors (цветом [0], цвет [n]…)значением
the
then на индексе [n div 2] div 2 будет результат BlendColors (цвет [0], VI…)class= " lineNumbers " >
1 >
etc.

 функция BlendColors (Color1, Color2: TColor; Светонепроницаемость: Байт): TColor;
var
  r, g, b: Байт;
  c1, c2: PByteArray;
начните
  Color1: = ColorToRGB (Color1);
  Color2: = ColorToRGB (Color2);
  c1: = @Color1;
  c2: = @Color2;

  r: = Trunc (c1 [0] + (c2 [0] - c1 [0]) * светонепроницаемость/256);
  g: = Trunc (c1 [1] + (c2 [1] - c1 [1]) * светонепроницаемость/256);
  b: = Trunc (c1 [2] + (c2 [2] - c1 [2]) * светонепроницаемость/256);

  Результат: = RGB (r, g, b);
конец; class= " ясное " > 
class=

Ответ : Заполните блок с ровной последовательностью цветов

Принимая c1 [0] =20 и c2 [0] =250, Nrow=8 и Ncol=5, матрица для красного цвета высчитанного вышеуказанным Кодим будут РЕЗУЛЬТАТОМ 1 ниже.
Так, первый цвет c1 [0] =20 появится в cel (1.1) и c2 [0] в cel (8.5). Конечно, Nrow может быть равно к Ncol. Пожалуйста заметьте первый col и первый рядок имеет такое же повторенное значение.  

Если необходимо линейному изменению в первом рядке и col, то фактор должен быть:
      фактор = ((row-1) + (col-1))/(поплавок) ((Nrow-1) + (Ncol-1));
Та дорога, матрица результата, потому что такие же параметры как и прежде, будет как в РЕЗУЛЬТАТЕ 2 ниже.

Jose

1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
РЕЗУЛЬТАТ 1 для красного компонента
----------------------------------------------
        20      20      20      20      20
        20      28      36      44      52
        20      36      52      69      85
        20      44      69      93      118
        20      52      85      118     151
        20      61      102     143     184
        20      69      118     167     217
        20      77      135     192     250 
----------------------------------------------
РЕЗУЛЬТАТ 2
        20      40      61      82      103
        40      61      82      103     124
        61      82      103     124     145
        82      103     124     145     166
        103     124     145     166     187
        124     145     166     187     208
        145     166     187     208     229
        166     187     208     229     250  
Другие решения  
  •  Как я добавляю кнопки на форме PDF для того чтобы добавить/извлекаю рядки данных?
  •  Шнур ошибки в блоке задвижки?
  •  сколько вариант сервера SQL на одной машине
  •  Внешний вид 2007 не может архивный файл открытой сети сохраненный
  •  Активно директория DNS записывает вопрос
  •  Отчет о доступа 2010 экспорта к CSV с коллекторами?
  •  Прокладчик OCE 9400 не начинает
  •  как добавить десятичное место в формуле в отчете о кристалла seagate
  •  Windows XP и Мичрософт Оутлоок и проблемы установителя Windows
  •  VB6 к VS2010 - консультации тренировки?
  •  
    programming4us programming4us