Tester couleur X,Y avant le flipbuffer ?

Vous débutez et vous avez besoin d'aide ? N'hésitez pas à poser vos questions
Avatar de l’utilisateur
Fig
Messages : 1176
Inscription : jeu. 14/oct./2004 19:48

Tester couleur X,Y avant le flipbuffer ?

Message par Fig »

je souhaiterai tester la valeur d'un pixel avant le flipbuffer, comment faire ?

Avec Point(x,y) ça ne marche évidemment pas puisque ça teste sur l'écran déja affiché...


En vous remerciant par avance

:wink:
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Re: Tester couleur X,Y avant le flipbuffer ?

Message par Backup »

Fig a écrit :je souhaiterai tester la valeur d'un pixel avant le flipbuffer, comment faire ?

Avec Point(x,y) ça ne marche évidemment pas puisque ça teste sur l'écran déja affiché...


En vous remerciant par avance

:wink:
Avec Point(x,y) ça ne marche évidemment pas puisque ça teste sur l'écran déja affiché...
cette affirmation est fausse :)



heu je dirai qu'a partir du moment ou le flipbuffer se trouve dans une boucle
ton point() est forcement avant un flipbuffer !! 8O

point() de toute façon travail obligatoirement avant un flipbuffer !!!

puisque le flipbuffer a pour but de montrer l'ecran logique !
et que point() marche sur l'ecran logique dans tout les cas !!



pour resumer, flipbuffer est un echange entre l'ecran dit "logique" c'est a dire l'ecran ou toutes les fonctions purebasic travaillent

et l'ecran "physique" qui est l'ecran vu par l'utilisateur !

ce swap s'execute apres les modifications de l'ecran logique !!

donc dans tout les cas point(), travail sur l'ecran logique (celui qui n'est pas montré) , juste avant le flipbuffer , qui lui echange l'ecran physique, et logique , c'est a ce moment précis que l'ecran qui etait logique, deviens physique , et visible, par l'utilisateur :)

en esperant avoir ete clair, et de ne pas dire de grosses Conneries :)


ps : j'en veux pour preuve , qu'il est possible de faire un point() sur une image, qui n'est pas affiché !! :D

c'est uniquement Resultat = StartDrawing(OutputID)
qui determine la surface sur laquelle tu travail :)
scaraber
Messages : 362
Inscription : ven. 15/juil./2005 17:32

Message par scaraber »

Aurais- tu un code a nous montrer de ton problèmes ?
Voila un ptit exemple (point doit etre entre StartDrawing et StopDrawing, et tu choisi l'ecran ou il faut chercher la couleur)

Code : Tout sélectionner

InitSprite()
OpenWindow(0,0,0,400,300,"Test",#PB_Window_SystemMenu|#PB_Window_ScreenCentered)
OpenWindowedScreen(WindowID(0),0,0,400,300,0,0,0)
StartDrawing(ScreenOutput())
  Box(0,0,50,50,RGB(212,12,154))
  color=Point(15,15)
StopDrawing()
FlipBuffers()
MessageRequester("test",Str(color)+"  RGB("+Str(Red(color))+","+Str(Green(color))+","+Str(Blue(color))+")")
Dernière modification par scaraber le ven. 01/mai/2009 12:18, modifié 1 fois.
Avatar de l’utilisateur
Fig
Messages : 1176
Inscription : jeu. 14/oct./2004 19:48

Message par Fig »

haaaa, alors c'est mon programme qui merde parceque ça ne semble pas marcher :P :roll:

Merci infiniment !!! 8)

Edit: j'ai oublié de mettre startdrawing et stopdrawing :oops:
Je vais voir si ça va assez vite ainsi sinon je lis directement en mémoire la couleur... :idea:
Répondre