Question : Remplir rangée d'ordre doux de couleurs

Hi
que je souhaite peupler les éléments d'un choix (de longueur arbitraire) avec une progression douce des valeurs de couleur. Using « BlendColors » je peux trouver une couleur intermédiaire entre deux valeurs. Ce que je voudrais est un algorithme ordonné pour remplir chacune de ces valeurs intermédiaires dans un array.
e.g. pour un choix de valeur du n
the de longueur à la division 2 (appel de l'index n il Vi) est BlendColors (couleur [0], la couleur [n]…)la valeur du
the du
then à la division 2 de l'index [division 2 de n] est le résultat BlendColors (couleur [0], Vi…)class= " lineNumbers " >
1 de >
etc.

 fonction BlendColors (Color1, Color2 : TColor ; Opacité : Byte) : TColor ;
variété
  r, g, b : Byte ;
  c1, C2 : PByteArray ;
commencer
  Color1 : = ColorToRGB (Color1) ;
  Color2 : = ColorToRGB (Color2) ;
  c1 : = @Color1 ;
  C2 : = @Color2 ;

  r : = Trunc (c1 [0] + (C2 [0] - c1 [0]) * opacité/256) ;
  g : = Trunc (c1 [1] + (C2 [1] - c1 [1]) * opacité/256) ;
  b : = Trunc (c1 [2] + (C2 [2] - c1 [2]) * opacité/256) ;

  Résultat : = RVB (r, g, b) ;
extrémité ; class= >
" clair " de
class= de

Réponse : Remplir rangée d'ordre doux de couleurs

C1 supposant [0] =20 et C2 [0] =250, Nrow=8 et Ncol=5, la matrice pour le rouge calculé par le code ci-dessus seront le RÉSULTAT 1 ci-dessous.
Ainsi, la première couleur c1 [0] =20 apparaîtra dans cel (1.1) et C2 [0] dans cel (8.5). Naturellement, Nrow peut être égal à Ncol. Veuillez noter la première colonne et la première rangée ont la même valeur répétée.  

Si on l'exige une variation linéaire de la première rangée et colonne, alors le facteur devrait être :
      facteur = ((row-1) + (col-1))/(flotteur) ((Nrow-1) + (Ncol-1));
De cette façon, la matrice de résultat, pour les mêmes paramètres qu'avant, sera comme dans le RÉSULTAT 2 ci-dessous.

Jose

1 :
2 :
3 :
4 :
5 :
6 :
7 :
8 :
9 :
10 :
11 :
12 :
13 :
14 :
15 :
16 :
17 :
18 :
19 :
20 :
RÉSULTAT 1 pour le composant rouge
----------------------------------------------
        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 
----------------------------------------------
RÉSULTAT 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  
Autres solutions  
  •  MS Excel 2007 et pdf - l'exportation vers le pdf prend de longues heures !
  •  Dans le Perl, comment j'ajoute une valeur à la liste, puis le contrôle pour voir si la valeur existent avant d'ajouter une nouvelle valeur
  •  Comment fais j'initialiser de la HP BL460c G6 de san et de la HP XP 240000
  •  Comment fais j'employer une clef de permis de volume sur un ordinateur de HP avec du CD de restauration
  •  Emplacement primaire de deux SCCM dans l'annuaire actif
  •  L'initiateur et la HP D2D de l'iSCSI R2 du serveur 2008 de Windows GERCENT l'issue
  •  Stocker le dossier dans le mysql using connector.net et le champ de goutte
  •  Carte vidéo d'USB - bit 32 sur le matériel travaillant au niveau du bit 64 ?
  •  asp.net que j'essaye de convertir une forme de HTML en forme d'aspx ou ? ce qui jamais. Aide du besoin sur la façon dont à à elle.
  •  Winzip 12 issues de secours du travail ?
  •  
    programming4us programming4us