img2calc: convertis images pour scripts Python 83 Premium CE
Posted: 29 Mar 2021, 11:14
Le langage Python de ta TI-83 Premium CE Edition Python est très riche. Il dispose entre autres d'un module ti_graphics, une bibliothèque de tracé par pixels gérant toute une collection de formes élémentaires :
La couleur se règle via
ti_graphics est de loin la bibliothèque Python de tracé par pixels la plus complète toute concurrence confondue. C'est de plus une véritable pépite pédagogique, avec le gros avantage de permettre dès la Seconde d'aborder et mener à bien des projets graphiques ambitieux en un minimum de lignes, sans avoir à traiter au préalable l'intégralité des notions mathématiques ou algorithmiques qu'il y a derrière tout cela !
- pixel -
setPixel(x,y)
- texte -
drawString(text,x,y)
- ligne -
drawLine(x1,y1,x2,y2)
- ligne brisée et polygone -
drawPolyLine([(x1,y1),(x2,y2),...,(xn,yn)])
etfillPolygone([(x1,y1),(x2,y2),...,(xn,yn)])
- rectangle et rectangle plein -
drawRect(x,y,largeur,hauteur)
etfillRect(x,y,dx,dy)
- disque -
fillCircle(x,y,r)
- arc et secteur d'ellipse -
drawArc(x,y,dx,dy,t1,t2)
etfillArc(x,y,dx,dy,t1,t2)
La couleur se règle via
setColor([r,g,b])
en RGB-888, pour un affichage effectif en RGB-565 sur l'écran de la calculatrice.setPen(taille,type)
permet également de régler le stylo, l'épaisseur du trait ainsi que son style : continu ou en pointillés.ti_graphics est de loin la bibliothèque Python de tracé par pixels la plus complète toute concurrence confondue. C'est de plus une véritable pépite pédagogique, avec le gros avantage de permettre dès la Seconde d'aborder et mener à bien des projets graphiques ambitieux en un minimum de lignes, sans avoir à traiter au préalable l'intégralité des notions mathématiques ou algorithmiques qu'il y a derrière tout cela !
Mais ce n'est pas tout, dans le même esprit la formidable bibliothèque ti_graphics permet également d'afficher des images !
Ici encore nul besoin d'attendre le chapitre sur le codage des images, une seule ligne suffit dès la Seconde :
Pour enrichir ainsi tes projets, Texas Instruments t'avait partagé une banque de 14 images libres.
Ces images utilisent un format IM8C que nous t'avions analysé et documenté :
Ici encore nul besoin d'attendre le chapitre sur le codage des images, une seule ligne suffit dès la Seconde :
drawimage("nom",x,y)
. Cet appel va alors chercher en mémoire la variable d'application nom.8xv pour l'afficher.Pour enrichir ainsi tes projets, Texas Instruments t'avait partagé une banque de 14 images libres.
Ces images utilisent un format IM8C que nous t'avions analysé et documenté :
- Les images utilisent une palette d'au plus 256 couleurs, dont éventuellement 1 couleur transparente.
- Les données des pixels ainsi indexées sont compressées au format RLE.
Mais plutôt que d'utiliser les 14 images de Texas Instruments, comment passer ses propres images au format compatible IM8C ?
Dans les images préconverties partagées, on trouve en commentaire une trace de l'outil de conversion d'image utilisé par Texas Instruments, img2appvar en version 1.0.0.
Hélas, Texas Instruments n'a jamais publié l'outil en question, nous-mêmes n'y avons pas accès.
Dans les images préconverties partagées, on trouve en commentaire une trace de l'outil de conversion d'image utilisé par Texas Instruments, img2appvar en version 1.0.0.
Hélas, Texas Instruments n'a jamais publié l'outil en question, nous-mêmes n'y avons pas accès.
Aujourd'hui nous avons le plaisir de te lancer officiellement un nouveau service gratuit sur TI-Planet, img2calc.
img2calc est un convertisseur en ligne d'images pour calculatrices graphiques, qui te permettra donc très facilement d'obtenir de quoi enrichir l'affichage de tes scripts Python et programmes.
Et un des tous premiers formats gérés est donc le IM8C pour les scripts TI-83 Premium CE Edition Python et TI-84 Plus CE Python Edition.
C'est très simple, tu fournis ton image dans le cadre source, et tu obtiens dans l'autre cadre l'aperçu de l'image convertie ainsi que son lien de téléchargement. La transparence si présente est même conservée.
img2calc te permet de préciser les dimensions d'un cadre pour ton image. Par défaut 2 cadres sont proposés :
Par défaut, les images débordant du cadre sont réduites en respectant leur rapport. Tu peux également selon tes besoins choisir d'agrandir les images plus petites que le cadre, et d'ignorer leur rapport.
img2calc est un convertisseur en ligne d'images pour calculatrices graphiques, qui te permettra donc très facilement d'obtenir de quoi enrichir l'affichage de tes scripts Python et programmes.
Et un des tous premiers formats gérés est donc le IM8C pour les scripts TI-83 Premium CE Edition Python et TI-84 Plus CE Python Edition.
C'est très simple, tu fournis ton image dans le cadre source, et tu obtiens dans l'autre cadre l'aperçu de l'image convertie ainsi que son lien de téléchargement. La transparence si présente est même conservée.
img2calc te permet de préciser les dimensions d'un cadre pour ton image. Par défaut 2 cadres sont proposés :
- full pour un affichage maximisé en 320×210 pixels
- menu pour du 320×191 pixels si tu souhaites que l'affichage de ton image laisse le menu de bas d'écran visible
Par défaut, les images débordant du cadre sont réduites en respectant leur rapport. Tu peux également selon tes besoins choisir d'agrandir les images plus petites que le cadre, et d'ignorer leur rapport.
Précisons que img2calc est un service en ligne nouvelle génération, tirant profit de la technologie HTML5+ES6. Il s'exécute intégralement côté client dans ton navigateur. Il ne nécessite aucune inscription. Les images que tu fournis ne sont pas envoyées sur notre serveur ; nous n'en avons donc aucune connaissance et n'en conservons aucune trace.
Toutefois, nous aurons grand plaisir à prendre connaissance des projets que tu codes à l'aide de cet outil, si tu veux bien les partager.
Toutefois, nous aurons grand plaisir à prendre connaissance des projets que tu codes à l'aide de cet outil, si tu veux bien les partager.
Petit inconvénient que nous ne savons pas trop comment traiter à ce jour, dans le contexte du format IM8C.
Les variables d'application sur TI-83 Premium CE ne peuvent dépasser les 64 Kio.
Si tu fournis des images trop complexes, même une fois réduites au cadre il est possible que la compression RLE n'arrive pas à les faire passer sous les 64 Kio, et l'image en question ne sera alors pas affichée correctement par la calculatrice mais tronquée.
Cela arrive notamment avec des images trop complexes, combinant par exemple plusieurs des critères suivants :
Si cela t'arrive, il faut simplifier l'image en question. Tu peux par exemple tenter de réduire le cadre directement dans img2calc.
Si tu ne souhaites pas réduire l'image, il te faudra la retoucher avec ton logiciel favori. Tu peux tenter notamment d'en retirer des éléments, d'en couper des zones vides inutiles... ou encore d'en réduire le nombre de couleurs différentes en-dessous des 256, ceci ayant un effet direct sur l'efficacité de la compression RLE.
Les variables d'application sur TI-83 Premium CE ne peuvent dépasser les 64 Kio.
Si tu fournis des images trop complexes, même une fois réduites au cadre il est possible que la compression RLE n'arrive pas à les faire passer sous les 64 Kio, et l'image en question ne sera alors pas affichée correctement par la calculatrice mais tronquée.
Cela arrive notamment avec des images trop complexes, combinant par exemple plusieurs des critères suivants :
- images plus grandes que le cadre par défaut avec un rapport proche de 1,5
- trop d'éléments graphiques
- dispersion des couleurs
- photos
Si cela t'arrive, il faut simplifier l'image en question. Tu peux par exemple tenter de réduire le cadre directement dans img2calc.
Si tu ne souhaites pas réduire l'image, il te faudra la retoucher avec ton logiciel favori. Tu peux tenter notamment d'en retirer des éléments, d'en couper des zones vides inutiles... ou encore d'en réduire le nombre de couleurs différentes en-dessous des 256, ceci ayant un effet direct sur l'efficacité de la compression RLE.
N'hésite pas à partager tes idées ou suggestions, d'autres formats d'images que tu aimerais voir supportés, ou même à contribuer directement au code... et surtout à créer et partager de superbes projets Python que nous aurons grand plaisir à mettre en avant !
Lien : img2calc.php