Seuls les membres ayant 30 points peuvent parler sur le chat.

Forum Casio - Autres questions


Index du Forum » Autres questions » Niveaux de gris
Drac0300 Hors ligne Membre Points: 839 Défis: 39 Message

Niveaux de gris

Posté le 20/04/2014 12:32

Bonjour,

Comme certains le savent peut-être déjà, je me suis lancé dans un Éditeur de sprites pour LuaFX on-calc mais je me suis retrouvé confronté à un problème : les sprites LuaFX sont en niveaux de gris !
Je me demandais donc si il était possible de faire un affichage en niveaux de gris tout en restant compatible SH4.
Merci d'avance !


-florian66- Hors ligne Ancien rédacteur Points: 2338 Défis: 20 Message

Citer : Posté le 20/04/2014 13:08 | #


Je sais que les niveaux de gris en lua sont en partie compatible SH4 mais je peux pas dire que tu puisses le faire avec ton sprites on calc
Bravo pour ce projet
In Arch, I trust ! And you ?
Drac0300 Hors ligne Membre Points: 839 Défis: 39 Message

Citer : Posté le 20/04/2014 13:21 | #


Oui mais je prévois de faire cet éditeur en C (sous la forme d'un addin)
Dans Z/1Z, 42==666
Coïncidence ? Je ne pense pas.
-florian66- Hors ligne Ancien rédacteur Points: 2338 Défis: 20 Message

Citer : Posté le 20/04/2014 13:23 | #


j'ai compris mais je sais pas si c'est compatible
Faits déja un premier jet avec du noir et blanc ça peut toujours servir après
In Arch, I trust ! And you ?
Lephenixnoir Hors ligne Administrateur Points: 18156 Défis: 142 Message

Citer : Posté le 20/04/2014 13:45 | #


Penses-tu baser ton éditeur sur le mien ? Auquel cas, je pourrais t'aider.
Drac0300 Hors ligne Membre Points: 839 Défis: 39 Message

Citer : Posté le 20/04/2014 18:43 | #


Oui effectivement, j'avais l'intention de baser mon éditeur sur le tien mais il faut que je me débrouille pour l'adapter aux niveaux de gris (enfin, il va d'abord falloir que j'étudie le code un peu plus (d'ailleurs, j'ai trouvé un petit bug ))
Dans Z/1Z, 42==666
Coïncidence ? Je ne pense pas.
Lephenixnoir Hors ligne Administrateur Points: 18156 Défis: 142 Message

Citer : Posté le 20/04/2014 18:54 | #


Un bug ?
Dis-moi tout
Drac0300 Hors ligne Membre Points: 839 Défis: 39 Message

Citer : Posté le 20/04/2014 22:50 | #


Ben, quand j'ai changé les #defines (hauteur et largeur) de façon à avoir une fenêtre inférieure à la taille de l'écran, ça a très bien marché mais en dehors de l'espace où je dessinais, il y avait des pixels allumés et il y en avait même qui changeaient quand je dessinais...
Dans Z/1Z, 42==666
Coïncidence ? Je ne pense pas.
Lephenixnoir Hors ligne Administrateur Points: 18156 Défis: 142 Message

Citer : Posté le 21/04/2014 07:03 | #


Oui, c'est exact.
Si tu regardes bien, ces pixels reproduisent le motif de l'image, parfois un peu décalés vers le haut.

Comme je suis gentil, je te corrige ça.
Aux lignes 76 et 78 (dans le code d'origine), dans la fonction PixEdit_Edit, et dans le if(redraw), remplace les boucles
for(i=0;i< =11;i++)
  // et
for(j=0;j<24;j++)

par
for(i=0;i< =(_SIZE_Y<12?_SIZE_Y:11);i++)
  // et
for(j=(_SIZE_Y<25?_SIZE_Y-1:24);j> =0;j--)


Ça devrait régler le problème.

Au passage (ça fait longtemps que je n'avais pas regardé ce code), je viens de me rendre compte qu'il y a deux-trois choses à optimiser, notamment au niveau de getPixel et setPixel.
Drac0300 Hors ligne Membre Points: 839 Défis: 39 Message

Citer : Posté le 21/04/2014 15:00 | #


On merci ! (Je verrai quand j'aurais accès à mon ordi)

Ajouté le 21/04/2014 à 15:03 :
Pour les niveaux de gris, est-ce que vous pensez qu'en faisant clignoter les pixels dans la boucle de mon programme, ça suffirait ?
Dans Z/1Z, 42==666
Coïncidence ? Je ne pense pas.
Lephenixnoir Hors ligne Administrateur Points: 18156 Défis: 142 Message

Citer : Posté le 21/04/2014 15:08 | #


Mais c'est exactement comme cela que ça marche.
Tu changes la fréquence de clignotement pour obtenir un ton de gris différent.
En revanche, tu ne peux tester que sur la calculatrice dirctement, car la rémanence de l'écran de PC est beaucoup plus faible.
Drac0300 Hors ligne Membre Points: 839 Défis: 39 Message

Citer : Posté le 21/04/2014 15:14 | #


Oui mais je me demandais si ça marcherait en rafraîchissant à chaque tour de boucle ou si ce serait trop lent et qu'il faudrait (pas sur que ma phrase soit très française... )utiliser des timers (si j'ai bien compris ce que c'est) pour faire clignoter...
Dans Z/1Z, 42==666
Coïncidence ? Je ne pense pas.
Lephenixnoir Hors ligne Administrateur Points: 18156 Défis: 142 Message

Citer : Posté le 21/04/2014 15:17 | #


Je ne suis pas sûr que les timers soient assez précis (par coups de 25 ms), a priori dans une boucle ça devrait fonctionner, tant que tu n'en change pas trop la longueur.

LienAjouter une imageAjouter une vidéoAjouter un lien vers un profilAjouter du codeCiterAjouter un spoiler(texte affichable/masquable par un clic)Ajouter une barre de progressionItaliqueGrasSoulignéAfficher du texte barréCentréJustifiéPlus petitPlus grandPlus de smileys !
Cliquez pour épingler Cliquez pour détacher Cliquez pour fermer
Alignement de l'image: Redimensionnement de l'image (en pixel):
Afficher la liste des membres
Pour coloriser votre code, cliquez ici.
Sinon cliquez sur le bouton ci-dessous.
:bow: :cool: :good: :love: ^^
:omg: :fusil: :aie: :argh: :mdr:
:boulet2: :thx: :champ: :whistle: :bounce:
valider
 :)  ;)  :D  :p
 :lol:  8)  :(  :@
 0_0  :oops:  :grr:  :E
 :O  :sry:  :mmm:  :waza:
 :'(  :here:  ^^  >:)

Σ π θ ± α β γ δ Δ σ λ
Veuillez donner la réponse en chiffre
Vous devez activer le Javascript dans votre navigateur pour pouvoir valider ce formulaire.

Si vous n'avez pas volontairement désactivé cette fonctionnalité de votre navigateur, il s'agit probablement d'un bug : contactez l'équipe de Planète Casio.

Planète Casio v42 © créé par Neuronix et Muelsaco 2004 - 2020 | Il y a 37 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