Modifications

Sauter à la navigation Sauter à la recherche
1 640 octets ajoutés ,  4 avril 2016 à 20:10
Ligne 40 : Ligne 40 :     
Ces couleurs sont stockées dans des tuples {{fname|(rouge,vert,bleu)}} '''mais attention''' ces valeurs numériques respectent la codification RGB565 (couleur 16-bit, R:5-bit; G:6-bit; B:5-bit).
 
Ces couleurs sont stockées dans des tuples {{fname|(rouge,vert,bleu)}} '''mais attention''' ces valeurs numériques respectent la codification RGB565 (couleur 16-bit, R:5-bit; G:6-bit; B:5-bit).
 +
 +
Essayez d'utiliser les couleurs prédéfinie dès que cela est possible.
 +
 +
=== Compose sa couleur ===
 +
Le standard de définition de couleur c'est la couleur RGB en 24 bits (aussi dit "RGB888"). Dans cette codification, chacune des couleurs couleurs rouge, vert, bleu est représentée par un octet (donc 8 bits). Au total, il faut donc 3 octets pour représenter une couleur (soit 50% d'espace en plus que le codage RGB565).
 +
 +
Il reste cependant des cas ou vous aurez besoin de créer vos propres couleurs RGB.
 +
 +
Personnellement, j'adore l'outil "[http://www.w3schools.com/colors/colors_picker.asp Color Picker de W3Schools]", outils qui affiche également la valeur RGB 888 de la couleur.
 +
 +
Le fichier {{fname|colors.py}} à récemment reçu la fonction {{fname|rgbTo565()}} qui permet de créer une couleur RGB565 à partir de la codification usuelle RGB 888 (24 bits, chaque valeur RGB ayant une valeur entre 0 et 255).
 +
 +
Voici un exemple utilisant la fonction {{fname|rgbTo565()}} pour créer un dégradé de couleur.
 +
 +
<nowiki># Creation d'un dégradé de couleur vertes à partir
 +
# d'une codification RGB888. Converti les couleurs RGB888 vers RGB565
 +
from lcd import *
 +
l = LCD( rate=21000000 )
 +
 +
colorStep = 11        # faire sauter les couleur 8 bits par pas de 11
 +
boxes = 255//colorStep # Nous allons dessiner x boites
 +
for i in range( 0, boxes+1 ):
 +
    iColorValue = i * colorStep
 +
    aColor = rgbTo565(iColorValue,255,iColorValue)
 +
    yStart = 0+i*(320//boxes)
 +
    yHeight = 320//boxes
 +
    print( '%i, %i = %i' % (yStart, yHeight, yStart+yHeight) )
 +
    l.drawRect( 0, yStart, 240, yHeight, aColor, border=3, fillcolor=aColor )</nowiki>
    
== La couleur de fond ==
 
== La couleur de fond ==
29 917

modifications

Menu de navigation