Page 1 of 1

img2calc: convertis images pour scripts Python 83 Premium CE

Unread postPosted: 29 Mar 2021, 11:14
by critor
12501Le 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 :
  • 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)]) et fillPolygone([(x1,y1),(x2,y2),...,(xn,yn)])
  • rectangle et rectangle plein - drawRect(x,y,largeur,hauteur) et fillRect(x,y,dx,dy)
  • disque - fillCircle(x,y,r)
  • arc et secteur d'ellipse - drawArc(x,y,dx,dy,t1,t2) et fillArc(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 ! :bj:

12893Mais ce n'est pas tout, dans le même esprit la formidable bibliothèque ti_graphics permet également d'afficher des images ! :bj:

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 ? :#roll#:

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 :
  • 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
Mais tu restes libre de préciser toutes autres dimensions inférieures à 320×210 pixels selon tes besoins.

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. ;)

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 :
  • 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 ! :bj:

Lien : img2calc.php

Re: img2calc: convertis images pour scripts Python 83 Premiu

Unread postPosted: 29 Mar 2021, 19:10
by critor
Les formats de fichiers TI-z80 ont donc une limite de 64 Kio pour le segment de données. En effet, sa taille est inscrite dans les fichiers sur 16 bits, soit donc 0xFFFF au grand maximum.

Petite mise à jour que je viens de pousser, si le fichier TI-z80 généré est trop gros, une erreur s'affiche et vous invite à recommencer avec un cadre plus petit ou une version plus simple de votre image.

En pratique cela ne concerne que les images converties en fichiers .8xv au format IM8C pour scripts Python, qui dans certains cas peuvent ne pas être suffisamment compressées en RLE et dépasser donc la limite.

img2calc.php

Re: img2calc: convertis images pour scripts Python 83 Premiu

Unread postPosted: 18 May 2021, 13:38
by critor
Mise à jour majeure de img2calc ajourd'hui :
viewtopic.php?t=24881&p=261311#p261311

La conversion d'images IM8C.8xv pour scripts Python sur TI-83 Premium CE et TI-84 Plus CE bénéficie elle aussi de nouveautés développées pour l'occasion :
  • affichage des tailles des fichiers générés
  • l'image IM8C.8xv est accompagnée d'un script d'exemple .py montrant comment y faire appel, à la fois téléchargeable et affiché avec coloration syntaxique


Easy TI, isn't it ? ;)

Re: img2calc: convertis images pour scripts Python 83 Premiu

Unread postPosted: 14 Jan 2023, 18:39
by pendrag1_
Bonsoir,
J'ai une TI 82 (la vieille version) j'utilise TI connect sur mac pour transférer les fichiers de mon ordinateur vers ma calculatrice. J'ai converti une image via ims2calc que j'ai transféré sur ma TI. Je n'arrive pas à l'affiché ensuite. Le fichier est bien sur ma calculatrice (je le retrouve dans le menu mémoire) mais quand je le sélectionne dans le menu image (PIC1) rien ne s'affiche. Quelqu'un pourrait-il m'expliquer la procédure pour afficher une image ?

Merci bien

Re: img2calc: convertis images pour scripts Python 83 Premiu

Unread postPosted: 14 Jan 2023, 19:02
by critor
Bonsoir.

Pour afficher l'image Pic1,il faut taper la ligne suivante dans un programme ou à l'écran de calcul :
RappelPic Pic1

La commande RappelPic se trouve en tapant
2nde
prgm
puis en allant sur l'onglet ENR.
La variable Pic1 se trouve directement en tapant
var
4
.

N'hésite pas à redemander d'autres précisions si besoin. :)