Modifications

Sauter à la navigation Sauter à la recherche
2 529 octets ajoutés ,  4 avril 2016 à 20:13
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.
 +
 +
=== RGB888 vers RGB565 ===
 +
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
 +
 
 +
    # Convertir la couleur en RGB565 pour le TFT
 +
    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>
 +
 +
[[Fichier:MicroPython-ILI9341-Exemples-RGB565.jpg|320px]]
    
== La couleur de fond ==
 
== La couleur de fond ==
Ligne 193 : Ligne 226 :  
Il est également possible de dessiner des cercles et ovales facilement à l'aide de {{fname|drawCircle}}, {{fname|drawCircleFilled}}, {{fname|drawOvale}}
 
Il est également possible de dessiner des cercles et ovales facilement à l'aide de {{fname|drawCircle}}, {{fname|drawCircleFilled}}, {{fname|drawOvale}}
    +
=== Cercles ===
 
  <nowiki>drawCircle( x, y, radius, color, border=1, degrees=360, startangle=0 )
 
  <nowiki>drawCircle( x, y, radius, color, border=1, degrees=360, startangle=0 )
 
drawCircleFilled( x, y, radius, color)</nowiki>
 
drawCircleFilled( x, y, radius, color)</nowiki>
Ligne 208 : Ligne 242 :  
[[Fichier:MicroPython-ILI9341-Exemples-40.jpg|320px]]
 
[[Fichier:MicroPython-ILI9341-Exemples-40.jpg|320px]]
    +
=== Arcs ===
 +
La fonction {{fname|drawCircle}} dispose des paramètres '''degrees''' et '''startangle''' qui permettent de dessiner des arcs.
 +
 +
* '''degrees''' - nombres de degrés à dessiner
 +
* '''startangle''' - angle de départ (l'angle 0 est au nord et suis le sens horlogique).
 +
 +
[[Fichier:MicroPython-ILI9341-Exemples-42.jpg|480px]]
 +
 +
<nowiki>from lcd import *
 +
l = LCD( rate=21000000 )
 +
l.drawCircle( 100, 100, 25, YELLOW, border=1, startangle=0, degrees=90 )
 +
l.drawCircle( 100, 100, 25, RED, border=1, startangle=90, degrees=90 )
 +
l.drawCircle( 100, 100, 25, GREEN, border=1, startangle=180, degrees=90 )
 +
l.drawCircle( 100, 100, 25, CYAN, border=1, startangle=270, degrees=90 ) </nowiki>
 +
 +
[[Fichier:MicroPython-ILI9341-Exemples-43.jpg|320px]]
 +
 +
=== Ovales ===
 
{{fname|drawOvalFilled()}} permet de dessiner un ovale (rempli)
 
{{fname|drawOvalFilled()}} permet de dessiner un ovale (rempli)
  
30 894

modifications

Menu de navigation