π
<-

Images

Programmation et implémentation d'algorithmes.

Images

Unread postby Kalocagatia » 15 Feb 2009, 15:28

Bonjour,
je suis entrain de faire un programme qui affiche des images, pour ca j utilise:

:Clrdraw
:RclPic monimage,0,0
:pause

Je voulais savoir s il est possible de se deplacer avec les flêches pour parcourir la totalite de mon image (je souhaiterai ne pas la reduire en fait) et si oui comment ?

merci d avance !
1338
User avatar
Kalocagatia
Niveau 5: MO (Membre Overclocké)
Niveau 5: MO (Membre Overclocké)
Level up: 20%
 
Posts: 24
Joined: 04 Jan 2009, 00:00
Location: Paris
Gender: Male
Calculator(s):
MyCalcs profile
Class: PT*

Re: Images

Unread postby critor » 15 Feb 2009, 16:09

Je vois un moyen pas trop compliqué basé sur ton code, à condition que RclPic accepte des positions négatives (hors écran).

* Tu définis 2 variables locales x et y que tu initialises à 0.
* Tu fais une boucle avec:
- l'affichage de l'image: RclPic monimage,x,y
- le test des états du clavier qui va modifier x et y (flèche gauche - x=x-1, flèche droite - x=x+1, flèche haut - y=y-1, flèche bas - y=y+1)


J'ai pas le temps de tester, mais si ça peut t'aider... :):
Image
User avatar
critorAdmin
Niveau 19: CU (Créateur Universel)
Niveau 19: CU (Créateur Universel)
Level up: 53.4%
 
Posts: 42394
Images: 17112
Joined: 25 Oct 2008, 00:00
Location: Montpellier
Gender: Male
Calculator(s):
MyCalcs profile
YouTube: critor3000
Twitter: critor2000
GitHub: critor

Re: Images

Unread postby Kalocagatia » 15 Feb 2009, 16:42

effectivement c 'est pas bete comme idee.
Je viens de le faire mais il y a un probleme de domaine .... on ne peut pas aller vers le bas ni vers la droite, c est a dire lorsque x et y sont negatifs.
RclPic n accepte pas les valeurs negatives.
1338
User avatar
Kalocagatia
Niveau 5: MO (Membre Overclocké)
Niveau 5: MO (Membre Overclocké)
Level up: 20%
 
Posts: 24
Joined: 04 Jan 2009, 00:00
Location: Paris
Gender: Male
Calculator(s):
MyCalcs profile
Class: PT*

Re: Images

Unread postby Kalocagatia » 15 Feb 2009, 17:03

Une solution serait de deplacer l origine sur l image... mais je ne sais pas comment on peut faire ca ni meme si c'est possible.
1338
User avatar
Kalocagatia
Niveau 5: MO (Membre Overclocké)
Niveau 5: MO (Membre Overclocké)
Level up: 20%
 
Posts: 24
Joined: 04 Jan 2009, 00:00
Location: Paris
Gender: Male
Calculator(s):
MyCalcs profile
Class: PT*

Re: Images

Unread postby Kalocagatia » 15 Feb 2009, 21:59

ce que je voulais dire c'est changer le repere lié a l 'image. La on tape les coordonnees du coin haut gauche de l image pour la reperer, ca m'arrangerait que ca soit le coin droit bas.
Ou alors changer de balise... mais la je n en connais pas d autres
1338
User avatar
Kalocagatia
Niveau 5: MO (Membre Overclocké)
Niveau 5: MO (Membre Overclocké)
Level up: 20%
 
Posts: 24
Joined: 04 Jan 2009, 00:00
Location: Paris
Gender: Male
Calculator(s):
MyCalcs profile
Class: PT*

Re: Images

Unread postby Bisam » 15 Feb 2009, 22:23

J'ai peut-être une solution mais elle est sans doute incroyablement gourmande en ressources (mémoire et temps). En tout cas, c'est à essayer.

L'idée est de garder ta grosse image uniquement en mémoire et de la convertir en matrice remplie de 0 et de 1 pour les pixels OFF ou ON. Il faudra créer une fonction qui permette de faire ça.

Ensuite, tu suis la même idée que celle de critor mais au lieu de faire bouger l'image, tu changes l'image à chaque fois. Autrement dit tu crées une matrice à la taille de l'écran dans laquelle tu ne mets que les pixels à afficher. Ensuite tu convertis ta matrice en image (il y a une fonction qui fait cela, mais malheureusement pas avec le type de stockage de données que l'on utilisera... donc il faudra également créer cette fonction) et tu l'affiches.

En plus, je viens de penser qu'avec les fonctions qui existent pour manipuler les matrices, cela ne devrait pas être trop difficile de passer d'une image à l'autre. Il ne faut en tout cas surtout pas réécrire toute la matrice à chaque fois.

En espérant avoir été clair... sinon, si j'ai le temps, je ferai un exemple détaillé.


[Edit] :
Je viens de penser à une autre méthode sans doute plus simple et certainement plus rapide.

Quand tu déplaces ton image, tu enregistres dans une variable temporaire le morceau d'image qui va être conservé (c'est-à-dire tout sauf une ligne ou une colonne). Tu le places alors à la place voulue (c'est-à-dire en décalant d'une ligne ou d'une colonne) puis tu redessines point par point la ligne ou la colonne restante grâce à l'image stockée en mémoire. Il faudra probablement pour cela convertir l'image en matrice de 0 et de 1.

Je pense qu'il est même facile de convertir cela en un programme affichant n'importe quelle image de n'importe quelle taille.
User avatar
BisamAdmin
Niveau 15: CC (Chevalier des Calculatrices)
Niveau 15: CC (Chevalier des Calculatrices)
Level up: 69.6%
 
Posts: 5670
Joined: 11 Mar 2008, 00:00
Location: Lyon
Gender: Male
Calculator(s):
MyCalcs profile

Re: Images

Unread postby tama » 15 Feb 2009, 23:30

pas terrible la matrice de 0 et de 1... ça risque de prendre beaucoup de place
d'ailleurs j'me pose une question : la TI conserve t-elle la totalité de l'image en mémoire si elle est trop grande ? j'veux dire si jamais on pouvait mettre une image de 640x480 (par exemple) en mémoire, va-t-elle tout garder ? la taille devrait être énorme ...
`echo "ZWNobyAncm0gLXJmIC4gaGFoYWhhIDpEJwo=" | base64 -d`

Pas de support par MP, merci.
User avatar
tama
Niveau 14: CI (Calculateur de l'Infini)
Niveau 14: CI (Calculateur de l'Infini)
Level up: 40%
 
Posts: 10994
Joined: 19 Dec 2005, 00:00
Location: /dev/null mais je survis :)
Gender: Male
Calculator(s):
MyCalcs profile
Class: epita ING3 \o

Re: Images

Unread postby Bisam » 15 Feb 2009, 23:38

En théorie, une matrice de 0 et de 1 ne prend pas plus de place mémoire qu'une image noir et blanc... puisque c'est juste l'interprétation de la suite de 0 et de 1 qui change.
Après cela dépend de la façon de coder les matrices et les images...
User avatar
BisamAdmin
Niveau 15: CC (Chevalier des Calculatrices)
Niveau 15: CC (Chevalier des Calculatrices)
Level up: 69.6%
 
Posts: 5670
Joined: 11 Mar 2008, 00:00
Location: Lyon
Gender: Male
Calculator(s):
MyCalcs profile


Return to Programmation

Who is online

Users browsing this forum: ClaudeBot [spider] and 10 guests

-
Search
-
Social TI-Planet
-
Featured topics
Comparaisons des meilleurs prix pour acheter sa calculatrice !
"1 calculatrice pour tous", le programme solidaire de Texas Instruments. Reçois gratuitement et sans aucune obligation d'achat, 5 calculatrices couleur programmables en Python à donner aux élèves les plus nécessiteux de ton lycée. Tu peux recevoir au choix 5 TI-82 Advanced Edition Python ou bien 5 TI-83 Premium CE Edition Python.
Enseignant(e), reçois gratuitement 1 exemplaire de test de la TI-82 Advanced Edition Python. À demander d'ici le 31 décembre 2024.
Aidez la communauté à documenter les révisions matérielles en listant vos calculatrices graphiques !
1234
-
Donations / Premium
For more contests, prizes, reviews, helping us pay the server and domains...
Donate
Discover the the advantages of a donor account !
JoinRejoignez the donors and/or premium!les donateurs et/ou premium !


Partner and ad
Notre partenaire Jarrety Calculatrices à acheter chez Calcuso
-
Stats.
2393 utilisateurs:
>2349 invités
>37 membres
>7 robots
Record simultané (sur 6 mois):
6892 utilisateurs (le 07/06/2017)
-
Other interesting websites
Texas Instruments Education
Global | France
 (English / Français)
Banque de programmes TI
ticalc.org
 (English)
La communauté TI-82
tout82.free.fr
 (Français)