Page 2 sur 3
Re: un Gadget Palette ....un ...
Publié : mer. 18/juin/2014 17:28
par Micoute
Il y avait juste à demander ! C'est trop de la balle, comme disaient mes enfants quand ils étaient marmots !
Re: un Gadget Palette ....un ...
Publié : mer. 18/juin/2014 18:06
par SPH
Dobro a écrit :bon en principe j'ai resouds le probleme
2 problemes avec ton nouveau code :
1> Un clic sur le cadre noir et on a une erreur
2> Il manque (je crois tout du moins) 2 couleurs a ta super palette : le noir et le blanc pur
PS : d'ailleurs, a propos du point 2, tu n'as que 254*254 couleurs au lieu de 256*256*256
Je me demande ou sont passé les autres couleurs.
Mais pour rester en 16 bits de couleurs, il te faut 256*256 couleurs
Re: un Gadget Palette ....un ...
Publié : mer. 18/juin/2014 20:39
par Ar-S
@SPH - Ligne 52
Remplacer
par
Re: un Gadget Palette ....un ...
Publié : mer. 18/juin/2014 20:58
par SPH
Ar-S a écrit :@SPH - Ligne 52
Remplacer
par
Oui, je sais ou est le probleme. Mais ce n'est pas un Or mais un And

Re: un Gadget Palette ....un ...
Publié : mer. 18/juin/2014 21:12
par Ar-S
Anéféé

corrigé
Re: un Gadget Palette ....un ...
Publié : mer. 18/juin/2014 21:22
par Backup
Merci pour la correction
je suis revenu a l'ancien systeme d'affichage de couleurs a l'aide de GradientColor() voir l'exemple ....
ya un truc qui merdoie avec "box(xc+1, 0, xc+1,haut) "
ça devrai donner des lignes verticale de 1 pixel .. ce n'est pas le cas !
si je fais
XC=100
box(xc, 0, xc,haut)
dans la procedure :
Code : Tout sélectionner
Procedure Palette_gadget(num,x,y,cadre);Palette_gadget(numero du gadget,x,y,largeur,hauteur)
; By Dobro
; Affiche le Gadget Palette
Larg=256 :haut=256
if cadre=1
FrameGadget(#PB_Any, x-5, y-15, Larg+15, Haut+20, "Palette By Dobro")
Endif
CanvasGadget(num, x,y,larg,haut)
If StartDrawing(CanvasOutput(num))
;{ ancien system by Dobro
DrawingMode(#PB_2DDrawing_Gradient)
BackColor( rgb(0,0,0)) ; de Noir a
;for xc=0 to 255
xc=100
GradientColor(0.2, rgb(xc,0,0)) ; rouge , de rouge a :
GradientColor(0.3, rgb(xc,0,xc)) ;violet , de Violet a :
GradientColor(0.4, rgb(0,0,xc)) ; bleu , de bleu a :
GradientColor(0.5, rgb(0,xc,xc)) ; cyan ,de Cyan a :
GradientColor(0.6, rgb(0,xc,0));vert ,de Vert a :
GradientColor(0.7, rgb(xc,xc,0));jaune , de Jaune a:
GradientColor(0.8,rgb(xc,xc,xc));blanc
LinearGradient(0, 0, 0, Haut)
box(xc, 0, xc,haut)
;next xc
;}
StopDrawing()
EndIf
Endprocedure
voila ce que j'obtiens, au lieu d'une ligne verticale de 1 pixel en colonne 100

Re: un Gadget Palette ....un ...
Publié : mer. 18/juin/2014 22:12
par Backup
c'est bon !! j'ai pu avoir la couleur 255,255,255
mon canvas n'etais pas assez grand
mais cela ne resoud pas le probleme avec
XC=100
box(xc, 0, xc,haut)
mais on s'en fout c'est un detail

Re: un Gadget Palette ....un ...
Publié : mer. 18/juin/2014 22:33
par SPH
Le code du post 1 est corrigé ?
Si oui, il y a un enorme probleme de couleurs. Je vais me pencher demain la dessus; ca m'interesse de voir comment tu as fait.
Si non, peut tu poster ton code corrigé ?
Thx

Re: un Gadget Palette ....un ...
Publié : mer. 18/juin/2014 22:46
par Backup
voila

(premier code page 1 )
pour une raison obscure, il semble que la souris n'est pas capturé par le canvas
si on pointe en haut a gauche ......
donc pas de couleur (0,0,0) pourtant elle y est !
alors que en bas a droite le RGB(255,255,255) s'affiche
ps; j'ai remis la capture sur mouvement de la souris , j'ai borné, normalement ça doit plus planter sur le point()
Re: un Gadget Palette ....un ...
Publié : mer. 18/juin/2014 22:54
par SPH
A vue d'oeil bio-ionique, il manque de nombreuses couleurs !!! (Tu as pleins de doublons, de triplons,etc...)
La, je suis foncdé par les medocs mais demain, je m'y penche serieusement...
a+
Re: un Gadget Palette ....un ...
Publié : mer. 18/juin/2014 22:56
par Backup
ps2 : il n'y a pas specialement de probleme lié a la couleur
si tu compare avec la palette prise en photo de GallyHC tu va trouver une difference
car lui change la luminosité de l'ensemble de la palette par le curseur a droite
alors que moi je cherche a afficher toutes les couleurs sur la surface
les teintes de haut en bas
la luminosité de gauche a droite
donc forcement ça n'affiche pas la meme palette
de toutes façon le probleme du box doit generer une erreur quelque part !
promene le curseur, pas 2 fois la meme teintes chez moi
Re: un Gadget Palette ....un ...
Publié : jeu. 19/juin/2014 6:25
par SPH
Dobro a écrit :promene le curseur, pas 2 fois la meme teintes chez moi
BEAUCOUP de teintes identiques (du moins dans les noirs et blancs)
Ta palette d'avant etait beaucoup mieux ! (redonne la plz)
Re: un Gadget Palette ....un ...
Publié : jeu. 19/juin/2014 15:19
par Backup
quelques petits changements ..
j'ai remis le code de Graph100 (mais j'ai aussi mis le miens en Rem )
ajout d'un box pour le control de la couleur choisi
un petit changement dans la procedure d'event ..
ajout d'un Box pour la couleur noir , qui pour une raison qui m'echappe ne peut se choisir dans la palette !
Re: un Gadget Palette ....un ...
Publié : jeu. 19/juin/2014 15:56
par Ar-S
J'ai repris ta procedure
event_palette_gadget(num) pour d'une part, afficher la couleur survolée à la volée et d'autre part pour partager l'aperçu de la couleur sélectionnée au clic en scindant ta box. C'est bien plus intuitif ainsi je trouve.
Code : Tout sélectionner
Procedure.l event_palette_gadget(num) ; event_palette_gadget(numero du gadget)
;By Dobro modif d'Ar-S
; retourne la couleur choisie
Select EventType()
Case #PB_EventType_MouseEnter, #PB_EventType_MouseMove
Capture = 1
x1 = GetGadgetAttribute(num, #PB_Canvas_MouseX)
y1 = GetGadgetAttribute(num, #PB_Canvas_MouseY)
If StartDrawing(CanvasOutput(num))
If (x1 >= 0 And x1 <=255) And (y1 >=0 And y1 <=275)
couleur = Point(x1,y1)
Box (257,0,20,128,couleur)
EndIf
StopDrawing()
ProcedureReturn couleur
EndIf
Case #PB_EventType_LeftClick
Capture = 0
x1 = GetGadgetAttribute(num, #PB_Canvas_MouseX)
y1 = GetGadgetAttribute(num, #PB_Canvas_MouseY)
If StartDrawing(CanvasOutput(num))
If (x1 >= 0 And x1 <=255) And (y1 >=0 And y1 <=275)
couleur = Point(x1,y1)
Box (257,129,20,128,couleur)
EndIf
StopDrawing()
ProcedureReturn couleur
EndIf
Default
Capture = 0
EndSelect
ProcedureReturn -1
EndProcedure
Re: un Gadget Palette ....un ...
Publié : jeu. 19/juin/2014 16:38
par Backup
bonne idée , j'adopte
