Les membres ayant 30 points peuvent parler sur les canaux annonces, projets et hs du chat.
La shoutbox n'est pas chargée par défaut pour des raisons de performances. Cliquez pour charger.
Menu
Calculatrices
Graph 35 à 100
Graph 25+Pro/25+E/25+E II
Graph 35+USB/75(+E)/85/95 SD
Graph 100(+)
Classpad 300/330(+)
fx-CG 10/20 (Prizm)
Classpad 400(+E)
Graph 90+E
fx-92+ SC
Liens
¤ Transférer un programme sur
sa calculatrice

¤ Vous cherchez une fonction ?
Utilitaires >> Graph 35 à 100 >> Graphisme >> Casio zip
Casio zip
Version : 3.01 Taille : 4518 octets Ajouté le : 2006-08-17 18:53 Modifié le : 2007-01-06 17:33
Auteur et posteur :
LenainnoirHors ligneAncien administrateurPoints: 5186 Défis: 24 Message
Aucune image disponible
Nombre de visites sur cette page : 14203
Score au progrank : 33
Pas encore de note !
Vous devez être connecté(e) pour noter (inscription).
3517 téléchargements | Soumettre un test


Description :

Casio Zip est un puissant utilitaire de conversion, de compression et de restitution d'images, extremement utile pour la programmation de jeux en mode graphique ou quand vous manquez de place mémoire ou de pictures.


Ce programme est actuellement le plus puissant pour ce qui est de la compression et de la décompression, qui est extremement rapide !

Utilisation :
Toutes les étapes de la compression sont guidées.
Deux Matrices en résultent, et sont stockées dans les Mat :
A et B
C et D
E et F
G et H
I et J
K et L
M et N
U et V
W et X
selon votre choix.

Pour les restaurer dans votre programme, éxécutez au moins une fois le programme DZIP.INI.
Puis placez une commande :

Mat a->Mat P
Mat b->Mat R
Prog "DZIP.EXE"

a correspond à la 1ere matrice (A,C,E,G,I,K,M,U,W)
b correspond à la seconde matrice (B,D,F,H,J,L,N,V,X)


Ce programme utilise la méthode de principe de la compression quadratique (qui se base sur les rectangles).
Merci à Meithal, qui a réalisé le code de la passe 1.


Commentaires :

Pages: Précédente | 1, 2, 3 | Suivante

WebberHors ligneMembrePoints: 406 Défis: 8 Message
Posté le 19-08-2006 à 15:36 | #
Impressionant
LenainnoirHors ligneAncien administrateurPoints: 5186 Défis: 24 Message
Posté le 19-08-2006 à 15:39 | #
Merci.
MuelsacoHors ligneFondateurPoints: 9335 Défis: 175 Message
Posté le 26-08-2006 à 14:07 | #
Impressionnant mais insuffisant! Inutilisable tant que l'on ne peut pas compresser plusieurs images dans une matrice! Si tu cherches une solution a ce problème ne prends pas en compte le temps de compression (pour l'intégrer à photo casio).
LenainnoirHors ligneAncien administrateurPoints: 5186 Défis: 24 Message
Posté le 26-08-2006 à 15:51 | #
Je te l'ai déjà expliqué : c'est le temps de décompression qui en dépend.
Place les deux matrices en une seule, et tu multiplies le temps de compression par 2, ou alors tu ne compresses plus assez...
MeithalHors ligneAncien administrateurPoints: 3125 Défis: 7 Message
Posté le 26-08-2006 à 16:04 | #
C'est quand même un problème assez ennuyeux. Sinon, muelsaco en serait réduit à utiliser quadra-compress qui même si il est moins efficace n'utilise qu'une seule matrice. Mais sinon, je pense qu'il y'a moyen de bidouiller casiozip pour tout faire entrer dans une seule matrice.

Mais de toutes manières, certaines images sont affreusement mal compressées avec ce système. La carte du monde d'Elixir par exemple nécessite 4 matrices pleines.
LenainnoirHors ligneAncien administrateurPoints: 5186 Défis: 24 Message
Posté le 26-08-2006 à 16:10 | #
Ca dépend ce que tu compresses.

Muelsaco, j'aimerais que tu m'expliques le fonctionnement de ton compresseur...
MuelsacoHors ligneFondateurPoints: 9335 Défis: 175 Message
Posté le 26-08-2006 à 18:15 | #
Mon fonctionnement de compression:

Je traite les pixels par paquets de 32 et un paquet correspondra a une variable. C'est à dire qu'il faut 256 variables pour stocker une image entière PEUT IMPORTE l'image (points, lignes, etc...).

Pour la suite il faut métriser le langage binaire car en fait j'assimile une pixel a un nombre binaire. En effet une pixel plein "vaut" 1 et une vide vaut 0 (bien sur çà aurait très bien pu être l'inverse mais pas la peine de s'embrouiller ) J'espère que vous suivez! Un paquet de 32 pixels est donc traduit en un nombre binaire de 32 chiffres. Ex:
pour une ligne droite :
1111111111111111111111111111111
pour du vide:
0000000000000000000000000000000
un point toutes les 2 cases:
1010101010101010101010101010101

Bien entendu si je laissais ce nombre sous cette forme (32 bits) il n'y aurait aucune compression mais juste une "sauvegarde" de l'image dans une matrice.

Je vais donc ensuite compresser ce nombre en le passant d'une base a une autre! Une petite convertion vers notre très chère base décimale est la meilleur compression possible sans perte. Vous l'aurez surement un nombre de 32 chiffres en base 2 (binaire) devient un nombre de 10 chiffres dans la base décimal. Bien entendu je tombe sur le nombre maximal que la calculatrice est capable de stocker dans une variable.
Ex de la ligne droite:
1111111111111111111111111111111 (base 2)
=4294967296 (base 10) (=2^32-1 pour ceux qui ont étudié le binaire )

La décompression se fait de la même façon.

J'aurais souhaiter pouvoir convertir ce chiffre binaire en hexadécimal pour avoir une plus grande compression. En effet pour un caractère hexadecimale on peut stocker 4 pixels (alors que pour le décimale c'est 3.2). J'ai découvert plus tard que cette méthode de compression est souvent utilisé pour les images en noir et blanc comme... la calculatrice! En effet en travaillant sur les add-ins de la graph 85 j'ai trouvé qu'ils stockaient les icônes (et peut être même les pictures car elles ne prennent que 2096 bits) de cette manière.
Voilà pourquoi j'ai pû rapidement trouver le système d'encryptage des images sur les graph 85

ZeforticheHors ligneAncien administrateurPoints: 5394 Défis: 54 Message
Posté le 26-08-2006 à 18:31 | #
et pourquoi tu as pas transcodé en hexadécimal ?
MuelsacoHors ligneFondateurPoints: 9335 Défis: 175 Message
Posté le 26-08-2006 à 18:34 | #
Ben parcequ'on ne peut pas en basic On peut pas faire des calculs hexadécimaux
LenainnoirHors ligneAncien administrateurPoints: 5186 Défis: 24 Message
Posté le 26-08-2006 à 19:08 | #
Impressionant !
Comment as-tu fait pour travailler sur des add-ins g85 ? Tu as trouvé un décompilateur ?

Et puis j'ai pas compris tu peux pas stocker 32 "1" à la suite dans une variable, et tu en as besoin pour les passer en décimal, donc je comprends pas trop comment tu fais l'étape de conversion à la compression et la même à la décompression...

Si je comprends ça, j'ai ma petite idée sur l'accélération de la décompression (du moins je pense)

Transfert de la discussion

Pages: Précédente | 1, 2, 3 | Suivante

Planète Casio v4.3 © créé par Neuronix et Muelsaco 2004 - 2024 | Il y a 123 connectés | Nous contacter | Qui sommes-nous ? | Licences et remerciements

Planète Casio est un site communautaire non affilié à Casio. Toute reproduction de Planète Casio, même partielle, est interdite.
Les programmes et autres publications présentes sur Planète Casio restent la propriété de leurs auteurs et peuvent être soumis à des licences ou copyrights.
CASIO est une marque déposée par CASIO Computer Co., Ltd