Casioplot : Différence entre versions

De Casio Universal Wiki
Aller à : navigation, rechercher
(Précisions et affichage du code.)
(Corrections rapportées par Ptitjoz)
 
Ligne 20 : Ligne 20 :
  
 
Affiche l'écran virtuel (VRAM) sur l'écran physique.
 
Affiche l'écran virtuel (VRAM) sur l'écran physique.
 
Cette fonction est automatiquement appelé à la fin de l'exécution d'un programme.
 
  
 
=== <code>clear_screen()</code> ===
 
=== <code>clear_screen()</code> ===
Ligne 37 : Ligne 35 :
 
=== <code>draw_string(x, y, text, color, size)</code> ===
 
=== <code>draw_string(x, y, text, color, size)</code> ===
  
Écrit du texte à l'écran aux coordonnées (x,y) de couleur <code>color</code>. Le pixel (x,y) est le coin haut gauche du texte affiché de couleur. Le paramètre `size` peut prendre les valeurs <code>'small'</code>, <code>'medium'</code> ou <code>'big'</code>. Sur Graph 35+E II, les deux grandes polices sont identiques ; sur Graph 90+E, les trois polices sont distinctes. La plupart des caractères non-ASCII ne sont pas supportés<sup>(nécessite une vérification)</sup>.
+
Écrit du texte à l'écran aux coordonnées (x,y) de couleur <code>color</code>. Le pixel (x,y) est le coin haut gauche du texte affiché de couleur. Le paramètre <code>size</code> peut prendre les valeurs <code>'small'</code>, <code>'medium'</code> ou <code>'large'</code>. Sur Graph 35+E II, les deux petites polices sont identiques (<code>PrintMini</code>) ; sur Graph 90+E, les trois polices sont distinctes. La plupart des caractères non-ASCII ne sont pas supportés<sup>(nécessite une vérification)</sup>.

Version actuelle datée du 5 septembre 2021 à 15:51

Casioplot est une bibliothèque de dessin bas niveau fournie par Casio pour supporter ses modules matplotlib et turtle, annoncé dans une newsletter de Février 2020 et publié en Avril. Le module est disponible à la fois pour Graph 35+E II et Graph 90+E avec une interface commune.

Le module peut être importé en ajoutant simplement import casioplot ou from casioplot import * au début du programme, selon les usages.

Zone de dessin et couleurs

La taille de la zone de dessin est de :

  • 384×192 sur les Graph 90+E (écran limité par les bandes habituelles et la barre de statut)
  • 128×64 sur les Graph 35+E II (plein écran)

Sur les deux modèles, les couleurs sont représentées par des tuples (R,G,B) où chaque composante a une valeur entre 0 et 255. Aucune de ces deux machines ne sait représenter des couleurs avec une telle précision, mais cette convention a été choisie par compatibilité avec les plateformes PC.

Sur écran monochrome, les couleurs sont approximées au noir ou blanc selon la luminosité. Sur écran couleur, elles sont approximées sur l'échelle RGB565, probablement seuillées à la couleur représentable la plus proche.0

Description de l'interface

De manière générale, toutes les fonctions effectuent leurs opérations dans l'écran virtuel (VRAM). Pour appliquer les modifications de la VRAM vers l'écran physique, il faut nécessairement appeler show_screen() (ce qui est fait automatiquement à la fin de l'exécution d'un programme). Les performances du double buffering en font une alternative bien plus puissante que le dessin avec PxlOn en Basic Casio.

show_screen()

Affiche l'écran virtuel (VRAM) sur l'écran physique.

clear_screen()

Remplit la VRAM de pixels blancs.

set_pixel(x, y, color)

Affecte la couleur `color` au pixel aux coordonnées (x,y).

get_pixel(x, y)

Retourne la couleur du pixel aux coordonnées (x,y) dans la VRAM. Comme la VRAM est intrinsèquement moins précise que le format d'entrée de set_pixel() (1-bit sur les machines mono, 16-bit sur les machines couleur), typiquement set_pixel(x, y, color) suivi de get_pixel(x, y) ne renverra pas color mais son approximation au format de la VRAM.

draw_string(x, y, text, color, size)

Écrit du texte à l'écran aux coordonnées (x,y) de couleur color. Le pixel (x,y) est le coin haut gauche du texte affiché de couleur. Le paramètre size peut prendre les valeurs 'small', 'medium' ou 'large'. Sur Graph 35+E II, les deux petites polices sont identiques (PrintMini) ; sur Graph 90+E, les trois polices sont distinctes. La plupart des caractères non-ASCII ne sont pas supportés(nécessite une vérification).