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.

Forum Casio - Autres questions


Index du Forum » Autres questions » Impossible de changer un pixel sur Graph 90+E
Massena Hors ligne Ancien rédacteur Points: 2219 Défis: 11 Message

Impossible de changer un pixel sur Graph 90+E

Posté le 07/12/2019 12:16

Bonjour !
J'ai commencé à bidouiller le basic sur Graph 90+E, mais je me suis confronté à un problème :
Il m'est impossible (après avoir défini la couleur noire par défaut), avec une fonction Plotoff() ou bien Plotchg(), de modifier un pixel noir enregistré dans une picture ou bien en Background.
Il y a-t-il un subtilité que je n'ai pas saisie, ou bien alors c'est juste que mon programme est merdique ?
Merci beaucoup !
Masséna


Massena Hors ligne Ancien rédacteur Points: 2219 Défis: 11 Message

Citer : Posté le 07/12/2019 20:15 | #


Up
Lephenixnoir Hors ligne Administrateur Points: 24145 Défis: 170 Message

Citer : Posté le 07/12/2019 20:37 | #


Déjà sur Graph mono il me semble qu'en présence de Picture ou de Background, tous les pixels blancs sur l'écran graphique sont en fait transparents, ce qui permet justement de voir l'image derrière le graphe.

Ici peut-être que tu peux dessiner dessus quand c'est en couleur, mais pas quand c'est en blanc, parce que le blanc serait traité comme transparent ?
Mon graphe (24 Mars): (gint#27 ; (Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; ...) || (shoutbox v5 ; v5)
Massena Hors ligne Ancien rédacteur Points: 2219 Défis: 11 Message

Citer : Posté le 07/12/2019 20:45 | #


Donc du coup, comment pourrait-on faire pour "blanchir" l'arrière-plan ?
Lephenixnoir Hors ligne Administrateur Points: 24145 Défis: 170 Message

Citer : Posté le 07/12/2019 20:48 | #


À ma connaissance on ne peut pas du coup. Mais il y a peut-être des techniques qui m'échappent.
Mon graphe (24 Mars): (gint#27 ; (Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; ...) || (shoutbox v5 ; v5)
Massena Hors ligne Ancien rédacteur Points: 2219 Défis: 11 Message

Citer : Posté le 13/12/2019 17:37 | #


C'est étrange :
- De un, il est tout à fait possible de retirer un pixel noir présent dans une picture/en arrière plan sur graph monochrome
- Dans le menu format, sur graph 90+E, Il existe la couleur White mais elle est grisée et impossible à sélectionner
Kikoodx Hors ligne Ancien labélisateur Points: 3011 Défis: 11 Message

Citer : Posté le 13/12/2019 18:13 | #


J'avais essayé il y a une ou deux semaines, il n'est en effet pas possible d'effacer des pixels sur une picture.
Dessiner un pixel puis l'effacer n'affecte l'image en aucun cas, ce qui est un peu décevant.
ouais ouais
Massena Hors ligne Ancien rédacteur Points: 2219 Défis: 11 Message

Citer : Posté le 13/12/2019 18:21 | #


Et surtout ce qui rend l'édition de Pictures directement sur calto impossible...
Lephenixnoir Hors ligne Administrateur Points: 24145 Défis: 170 Message

Citer : Posté le 13/12/2019 20:34 | #


Massena a écrit :
Et surtout ce qui rend l'édition de Pictures directement sur calto impossible...

Ça c'est bien connu.
Mon graphe (24 Mars): (gint#27 ; (Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; ...) || (shoutbox v5 ; v5)
Kikoodx Hors ligne Ancien labélisateur Points: 3011 Défis: 11 Message

Citer : Posté le 14/12/2019 11:16 | #


J'y ai réfléchi car je trouvais le problème intéressant, c'est en théorie possible de faire un éditeur d'image sur 90+e, en stockant les données dans une matrice par exemple et en redessinant tous les pixels à chaque fois que tu veux éditer, avec une option d'export vers Pict.
Problème : la mémoire de la calculatrice.

En optimisant niveau mémoire, une case de matrice (ou liste) peut stocker jusqu'à 11 octets.
Un pixel sur la 90+e "pesant" 1 octet (8 couleurs), il faudrait alors une matrice de 379*187/11 cases, soit 6443.
La racine carrée de 6443 vaut entre 80 et 81, on considère donc qu'il faudrait une matrice de 80*81 (inutile mais je préfère le préciser)
Une case de matrice utilisant en réalité 12 octets de mémoire, on voit que ce programme utiliserait 6443*12 octets soit 77316 octets (sans compter le programme en lui-même qui devrait faire moins de 500 octets).

Cette idée aurait pu fonctionner, mais il aurait fallu utiliser C.Basic (ce qui n'a pas d'intérêt, C.Basic pouvant éditer les pictures) ou en réduisant le nombre de couleurs (prochain paragraphe).
Petite remarque : la calculatrice stocke ses Pict/Capt dans la mémoire de stockage, leurs poids semblent varier, je suppose que cela dépend du nombre de couleurs différentes présentes sur l'image.

En suivant l'idée de la réduction du nombre de couleurs, ce programme devient techniquement possible
Avec 5 couleurs, le programme ne nécessite plus que 5063 cases pour fonctionner, soit 60756 octets.
C'est un gros gain en mémoire o/ Et juste à la limite de la mémoire principale de notre calculatrice.
En réduisant encore à 4 couleurs, le "rêve" devient réalité, une case peut désormais stocker 16 pixels, nécessitant 4430 cases (53160 octets), il est parfaitement possible de faire tenir le programme correspondant dans l'espace restant

C'en devient un peu inutile à ce point là, mais je trouvais l'idée intéressante et ai décidé de creuser
ouais ouais
Massena Hors ligne Ancien rédacteur Points: 2219 Défis: 11 Message

Citer : Posté le 14/12/2019 11:17 | #


Et sinon, pourquoi est-il impossible d'utiliser la fonction white() ?
Kikoodx Hors ligne Ancien labélisateur Points: 3011 Défis: 11 Message

Citer : Posté le 14/12/2019 11:19 | #


Massena a écrit :
Et sinon, pourquoi est-il impossible d'utiliser la fonction white() ?

Ce n'est pas une fonction (pas vraiment), ils ne l'ont sûrement pas jugée utile.
ouais ouais
Massena Hors ligne Ancien rédacteur Points: 2219 Défis: 11 Message

Citer : Posté le 14/12/2019 11:42 | #


Alors... Pourquoi l'avoir laissé dans le menu Format ? xD
Dark storm Hors ligne Labélisateur Points: 11631 Défis: 176 Message

Citer : Posté le 14/12/2019 13:17 | #


Massena a écrit :
- Dans le menu format, sur graph 90+E, Il existe la couleur White mais elle est grisée et impossible à sélectionner

T'as essayé de l'ajouter dans BIDE, puis de transférer le programme ? Tester si c'est l'interprétation qui est foireuse ou l'entrée de code.
Finir est souvent bien plus difficile que commencer. — Jack Beauregard
Massena Hors ligne Ancien rédacteur Points: 2219 Défis: 11 Message

Citer : Posté le 14/12/2019 13:31 | #


Bonne idée !
Sentaro21 En ligne Membre Points: 877 Défis: 0 Message

Citer : Posté le 14/12/2019 13:42 | #


The White command opcode is not reserved in Basic Casio.
It is newly defined in C.Basic.

In the current C.Basic CG version, there is a problem that the g3p format cannot be saved by StoPict command.
Instead, it is saved by BmpSave command or Capture (OS function).

Je continue à développer C.Basic. (Il est compatible avec Basic Casio.)
Overclocking utilitaire Ftune/Ptune2/Ptune3 est également disponible.
Si vous avez des questions ou un rapport de bogue, n'hésitez pas à me le faire savoir.

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
: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 v4.3 © créé par Neuronix et Muelsaco 2004 - 2024 | Il y a 67 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