Drawing the palette
Posted: 12 Jun 2008, 15:02
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é.
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