Forum

Catégorie : Programmes
Forum : Les programmes des internautes
Vues : 3407
Réponses : 20
Type : discussion
Etat : réponses autorisées

Stockage d'images

vibra le 25/07/2007 à 14:52
Bon alors comme coc5 avait fait fais mieux que moi et que je n'aime pas qu'on fasse mieux que moi ( winkle.gif) voici le programme de stockage d'images dans la matrice [A]. Une image complexe prend environ 1000 octets. Pour l'utiliser il suffit d'envoyer le programme, et c'est fait !!
Code
ClrHome
1->C
1->D
1->E
1->T
0->H
0->I
{1,1}->dim [A]
0->[A](1,1)
1->Z
5.pxl-Test(0,0)->[A](1,1)
Output(2,2,"CRYPTAGE..."
Output(4,9,"o/O"
For(A,0,62
Output(4,6,round(A/62*100,0
For(B,0,94
If pxl-Test(A,B)+pxl-Test/H,I)=1
Then
Lbl 4
95(A-H)+B-I->J
If J=>10^Z or ZE>14-T
Then
If E=/=1
Then
If Z=1
Then
-[A](D,C)->[A](D,C)
Else
round(Z-2,0)->U
[A](D,C)+U->[A](D,C)
End
End
If ZE>14-T
Then
1->Z
1->E
0->T
D+1->D
End
If J=>10^Z
Then
While J=>10^Z
Z+1->Z
End
If E=/=1
D+1->D
1->E
End
If D=100
Then
1->D
C+1->C
99->L
End
If C=1
D->L
{L,C}->dim [A]
End
[A](D,C)+J*10^(-ZE)->[A](D,C)
E+1->E
A->H
B->I
If A=63
Goto 5
End
End
End
0->B
Goto 4
Lbl 5
If Z=1
Then
-[A](D,C)->[A](D,C)
Else
[A](D,C)+Z-2->[A](D,C)
End
ClrHome
Output(2,1,"COMPRESSION DES
Output(3,2,"DONNEES...
ClrList L1
If C=/=1
Then
99->A
While [A](A,C)=0
A-1->A
End
If A=>98
Stop
round(c(fPart((99(C-1)+A)/C)),0)->D
iPart ((99(C-1)+A)/C)->E
C->dim L1
For(Z,1,D
1+E->L1(Z)
End
For(Z,D+1,C
E->L1(Z)
End
Goto 3
Lbl 1
C-1->C
99->A
While [A](A,C)=0
A-1->A
End
Lbl 3
L1(C)-A->P
For(Z,A,1,-1
[A](Z,C)->[A](+P,C)
End
If C=1
Then
{E+1,dim L1}->dim[A]
ClrList L1
Stop
ClrHome
End
For(Z,1,P
[A](100-Z,C-1)->[A](P+1-Z,C)
0->[A](100-Z,C-1)
End
Goto 1
End
ClrHome


Voilà le décodeur. Une fois que le code est entré dans la matrice [A], il suffit de lancer le programme (conseil : ne pas le fusionner avec l'autre). Pour des raisons de mémoire, le programme s'interrompt régulièrement. Il faut donc appuyer régulièrement appuyer sur [ENTER] jusqu'à ce qu'il ne le demandes plus. Si il y a une erreur mémoire, il faut trifouiller et mettre N=50 à la place de N=60 etc à la ligne 25.
Code
If fPart O=.122
Then
O+1->O
0->N
Goto 1
End
ClrDraw
1.122->O
dim [A]
Ans(1)->G
dim [A]
Ans(2)->F
1->E
0->A
1->C
1->D
If fPart (abs([A](1,1)))>3
1->A
0->I
0->N
-1->H
-1->Z
Lbl 1
N+1->N
If N=60
Then
Disp "PRESS ENTER
Stop
End
If Z=-1Then
0->Z
iPart ([A](D,C)->P
If [A](D,C)=>0
Then
If P>3
P-5->P
For(R,0,2
If P=>RZ+1->Z
End
End
Z+1->Z
End
0->L
abs ([A](D,C)->P
For(T,Z,1,-1
L+10^(T-1)(iPart(10(fPart(P310^(ZE-T->L
End
If L=/=0
Then
If A=1
Then
For(P,H+1,H+L
P->J
0->S
While J=>95
S+1->S
J-95->J
End
Pxl-On(I+S,J
End
I+S->I
J->H
0->A
E+1->E
Goto 1
Else
H+L->H
While H=>95
H-95->H
I+1->I
End
1->A
E+1->E
Goto 1
End
Else
-1->Z
1->E
D+1->D
If D=G
Then
C+1->C
1->D
If C>F
Then
0->O
Stop
End
End
End
Goto 1

Pour plus d'explications...
Sangohan38 le 25/07/2007 à 15:31
Tu n'aurais pas un petit lien pour télécharger le prog Vibra?

Sangohan38
coc5 le 25/07/2007 à 18:37
J'ai essayé le début de ton programme (juste le cryptage). J'ai pas trop compris comment tu faisais (j'ai pas trop cherché non plus^^).
Mais comment fais-tu pour reconstituer l'image, ça n'y est pas !
vibra le 26/07/2007 à 13:45
Effectivement, ce programme ne permet que de stocker l'image. Je vais essayer de faire le programme pour pouvoir faire apparaitre l'image.
Sinon, je ne sais toujours pas comment faire un lien, désolé minied.gif .
Sangohan38 le 26/07/2007 à 13:46
Tu te trouve un uploadeur de fichier, il te donnera un lien que tu copie.

Sangohan38
vibra le 26/07/2007 à 13:51
Sauf que j'ai pas le cable...
ratuss le 27/07/2007 à 10:08
c'est beaucoup 1000 octet :p ! (ca fait même plus qu'une pic)
vibra le 27/07/2007 à 11:54
Ouais, ça fait plus au'une pic, mais pour ceux qui n'ont pasle cable (comme moi), et qui ont fait un beau dessins de fille nue (comme moi), et qui n'ont plus la place de conserver la pic, et bien c'est bien utilie de pouvoir la stocker. happy.gif
ratuss le 27/07/2007 à 13:17
on peut les voir ces dessins ? :p
coc5 le 27/07/2007 à 13:19
Quelqu'un pourrait me dire ce qu'est une pic (je connais peut-être mais le nom ne me dit rien) ?
ratuss le 27/07/2007 à 13:27
une "pic" (picture) = une image,

storepic pour enregistrer et recallpic pour loader

+
coc5 le 27/07/2007 à 13:37
Bon bas j'ai appris quelque chose aujourd'hui cupsmiley.gif
vibra le 27/07/2007 à 15:38
Je ne sais pas comment je pourrais te la montrer ä mois que tu utilise le code ci-dessous et que tu rentre dans la matrice [A] un certain code.
ratuss le 27/07/2007 à 16:58
tu peux le mettre dans ton post initial stp ?? ( ce sera plus lisible pour les invités... )

+
Sangohan38 le 27/07/2007 à 18:20
Voila c'est copier dans le post initial.

Sangohan38
vibra le 27/07/2007 à 23:05
J'ai fais des corrections.
vibra le 27/07/2007 à 23:11
Voici, comme promis, le dessin de la nana :
[A](...,1)
1.51200409502
.95039402940294
-.2
.93022503660216
-.18111
.66021308040101
-.231
.60030513020401
-.12221
.59091202040203
-.221
.47020211250103
-.212
.47063802010137
-.192
.43020101030133
-.814
.43030201400445
-.331
.19022104420101
-.221
.1902190205034
-.221
.18021802061134
-.211
.1802170217061
-.2
.17020101180216
-.2
.20010310020116
-.211
.18021602190116
-.1
.16020101010116
-.2
.15021901090603
-.1
.14020201010116
-.2
.14031801100401
-.121
.13010101020101
-.1
.16021402180111
-.51221
.14010203160213
-.3
.18011204020103
-.1
.12010201010118
-.2
.12021801130303
-.121416232
.19021102190113
-.3312132
.1101010118021
-.3
.18011803030214
-.1
.20020903190119
-.14111

[A](...,2)
.13012101090219
-.1
.27011301210207
-.362
.11010503170213
-.1
.23010702060212
-.14212
.15010602060223
-.16247
.10010402010204
-.19791
.24020507160105
-.441
.13011001020122
-.235
.21010601190114
-.1
.22020402220126
-.1
.12010101220205
-.3
.21011801060113
-.234
.15020603180313
-.741
.14010101030314
-.293
.13030302110303
-.13131
.11010101020216
-.2
.11020804050201
-.2933121
.1301020101012
-.2
.12020305050403
-.2841234
.12012202130604
-.816722162
.12010806080214
-.18
.13020307010503
.13010614020219
-.334
.11080304200208
.10170208061105
-.12
.18022004150114
.20180322021401
.52032302130151
-.221
.24011201270813
-.341
.26011001360505
-.361
.28020602390102
-.581
.31065502910289
-.4
1.296
mad67 le 31/07/2007 à 19:34
tu peux pas la stocker dans une pic le mettre en 82p puis sur badongo?
vibra le 01/08/2007 à 10:08
Jai pas le cable frozen.gif frozen.gif
mad67 le 01/08/2007 à 11:06
il faut le cable car j'ai pas envie de recop cette matrice
vibra le 01/08/2007 à 15:24
Bon ben tu l'auras pas désolé.