Drawing the palette

Share your custom panels, brushes, papers... (you need to be registered to read posts in this section)
Post Reply
Manuel
Posts: 673
Joined: 09 Feb 2006, 14:09
Location: France-Moselle

Drawing the palette

Post by Manuel »

Here is a george script that draw the current palette in a rectangle.
It asks you the color count to be drawn and the separation space between the colors.

_______________________________________________
Voici un petit script qui dessine la palette dans un rectangle.
Lancez le script et dessinez le rectangle afin de définir la taille de la palette.
Le programme vous demandera alors le nombre de couleurs à dessiner, une palette standard comporte 256 couleurs, le maximum étant 1023.
Ensuite, entrez la taille, en pixel, de l'espace entre les échantillons.
La palette est alors reproduite dans votre image.
La taille des échantillons de couleur est adaptée pour ne pas comporter de fraction de pixel, la palette ne correspondra donc pas exactement au rectangle tracé.

Code: Select all

// RectanglePalette
// Redessine la palette dans le rectangle tracé
// Version 1
// Auteur : Manuel Zander
// (C)2008 Manuel Zander

PARAM Rectangle
PARSE result c x y a b d

NBCouleur=512 // Nombre de couleurs à afficher, maximum1023 
Espace = 1 // Espace entre les "godets"

tv_ReqNum 256 1 1023 "Color count (maximum :1023)"
NBCouleur = result
tv_ReqNum 1 0 10 "Separator in pixel"
Espace =result

w=a-x
h=b-y
// on définit des case régulières
ww=TRUNC(w/16,0)
hh=TRUNC(h/NBCouleur*16,0)
i=0
j=0
tv_LockDisplay
FOR c = 0 to NBCouleur-1
  tv_GetPalette c 1
  PARSE result r g b
  tv_SetAPen r g b
  tv_RectFill x+i*ww y+j*hh x+(i+1)*ww-Espace y+(j+1)*hh-Espace
  IF (i<15)
    i=i+1
  ELSE
    i=0
    j=j+1
  END
END
tv_UnLockDisplay 
tv_ResetDisplay

//EOF
Manuel
Post Reply