PureBasic

Forums PureBasic
Nous sommes le Mar 17/Sep/2019 17:34

Heures au format UTC + 1 heure




Poster un nouveau sujet Répondre au sujet  [ 198 messages ]  Aller à la page Précédente  1 ... 10, 11, 12, 13, 14
Auteur Message
 Sujet du message: Re: Pure_anaglyphe
MessagePosté: Jeu 19/Jan/2017 9:32 
Hors ligne

Inscription: Mar 09/Déc/2014 20:02
Messages: 74
Salut,

Probablement, que tu y a déjà pensé mais bon :

ce code :
Code:
If t=(Green(coul_obs) And Blue(coul_obs)=t) And (Red(coul_obs)<Green(coul_obs) Or Red(coul_obs)<Blue(coul_obs))
EndIf


génère l'erreur décrite.

ce code :
Code:
If Bool((Green(coul_obs) And Blue(coul_obs)=t) And (Red(coul_obs)<Green(coul_obs) Or Red(coul_obs)<Blue(coul_obs)))
EndIf


passe sans problème dans PB 5.51 X64 et x86.

my 2 cents....


Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: Pure_anaglyphe
MessagePosté: Jeu 19/Jan/2017 10:35 
Hors ligne
Avatar de l’utilisateur

Inscription: Dim 22/Aoû/2010 15:24
Messages: 6849
Localisation: IDF (Yvelines)
@zaphod_b : Hum pas certain que ta réponse soit bonne

L'erreur généré par l'IDE de PureBasic 5.51 est dans la première partie du code.
Code:
If t=(Green(coul_obs) And Blue(coul_obs)=t)
EndIf
ce qui donne
Citation:
Comparisons (=, <, >, =< and >=) are only supported with keywords like If, While, Until or within Bool().

Ta solution consiste donc à faire une comparaison booléenne.
Code:
If Bool(Green(coul_obs) And Blue(coul_obs)=t)
EndIf
et effectivement il n'y a plus d'erreur de compilation. Mais ce qui ne veut pas dire que le résultat espéré soit bon.

Améliorons le code avec quelques init de variables.
Code:
coul_obs = RGB(255, 0, 0)
t=0

If Bool(Green(coul_obs) And Blue(coul_obs)=t)
  Debug "yeah"   
EndIf
Sauf erreur ou omission de ma part : Pas de "Yeah"

J'ai bien Bool(0 and 0 = 0) mais ça ne donnera pas comme résultat la constante #True

La condition que Zorro souhaite est pourtant bien rempli, Mais il y a un souci lié aux parenthèses.

Une variable t ne peut pas être égale à deux valeurs au même moment.

Si on reprend le code code de Zorro
Code:
coul_obs = RGB(255, 0, 0)
t=0

If t=(Green(coul_obs) And Blue(coul_obs)=t)
  Debug "yeah" 
EndIf
on aurait t=(0 And 0=0) !! Tilt same player shoot again

La solution consisterait à supprimer la première parenthèse et la dernière parenthèse.
Code:
coul_obs = RGB(255, 0, 0)
t=0

If t=Green(coul_obs) And Blue(coul_obs)=t
  Debug "yeah" 
EndIf
la condition est dans ce cas plausible

t = 0 and 0 = t

YeahHHHHhhhh^^

_________________

➽ Config PureBasic : i3, RAM 4Go, NVidia (1024 Mo), Windows 10 - PB 5.70 LTS
➽ Je papote aussi sur http://purebasic.chat

➽ Sites personnels http://falsam.com & EasySprite.js

➽ Je ne réponds pas aux MP techniques


Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: Pure_anaglyphe
MessagePosté: Jeu 19/Jan/2017 12:27 
Hors ligne
Avatar de l’utilisateur

Inscription: Mar 31/Mai/2016 9:06
Messages: 2065
cette partie de code est un filtre

qui consiste a modifier les couleurs qui sont proche de celles des lunettes Anaglyphe
(Rouge/Cyan)

lorsque qu'une couleur de l'image est proche de ces deux couleurs (et ici particulierement il s'agit du traitement pour le Cyan )
je modifie cette couleur pour "l'eloigner" de la couleur des lunettes ... ce qui a pour resultat d'etre visible par les lunettes Anaglyphes

en effet, si on doit mettre en Anaglyphe une image contenant du rouge par exemple , celui ci paraitra "noir" dans la partie cyan des lunettes
et "blanc" (gris clair) dans la partie rouge des lunettes , ce qui occasionne une sorte de Flash désagreable a la vue (regardez les 2 doigts repliés de la main gauche de Spiderman)
en modifiant ce rouge pour l’éloigner de la couleur des lunettes on concerve la dominante rouge , tout en gagnant un confort a la vue ....

(pareille pour la couleur Cyan ) ....

exemple avec une image contenant du rouge
rappel, avec les lunettes Anaglyphes, il faut s'eloigner d'au moins 50 cm de l'ecran pour aprécier (et plus si c'est un grand ecran )
les anaglyphe s'apprécient mieux en etant loin .... il faut que les yeux converges ...

Sans traitement :
Image

Avec Traitement (de l'extrait de code ci dessus )

Image

bien sur pour apprécier il faut des lunettes Anaglyphes ... mais a l'oeil on vois bien la difference opérée sur le Rouge ...
(ce qui au passage prouve que mon filtre fonctionne en Purebasic 5.30 )



pour le code, mon Filtre fonctionne tres bien avec la Version 5.30 de Purebasic , donc c'est pas une erreur de logique
mais bien une erreur Lié a Purebasic !
qui dans les versions actuelle , ne suporte plus cette façon de faire .... et c'est bien dommage
je considere qu'une evolution doit apporter de la simplicité, au lieu de Brider ... mais c'est mon point de vue ...

en clair , avant ça marchait, maintenant, ça ne marche plus !!

la fonction bool c'est bien beau, mais je ne vois pas en quoi ajouter des fonctions, qui etaient inutiles avant,
fait que le Purebasic s'améliore !!

(tout en respectant le travail de fred , là n'est pas le propos ... )

_________________
Image
Image
Site: http://michel.dobro.free.fr/
Devise :"dis moi ce dont tu as besoin, je t'expliquerai comment t'en passer"


Haut
 Profil  
Répondre en citant le message  
Afficher les messages postés depuis:  Trier par  
Poster un nouveau sujet Répondre au sujet  [ 198 messages ]  Aller à la page Précédente  1 ... 10, 11, 12, 13, 14

Heures au format UTC + 1 heure


Qui est en ligne

Utilisateurs parcourant ce forum: Google [Bot] et 1 invité


Vous ne pouvez pas poster de nouveaux sujets
Vous ne pouvez pas répondre aux sujets
Vous ne pouvez pas éditer vos messages
Vous ne pouvez pas supprimer vos messages

Rechercher:
Aller à:  

 


Powered by phpBB © 2008 phpBB Group | Traduction par: phpBB-fr.com
subSilver+ theme by Canver Software, sponsor Sanal Modifiye