Novembre 2024 | Lun | Mar | Mer | Jeu | Ven | Sam | Dim |
---|
| | | | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | | Calendrier |
|
|
| Ne cherchez plus vos couleurs grace à ma petite palette! | |
| | Auteur | Message |
---|
bignono
Nombre de messages : 1127 Age : 67 Localisation : Val de Marne Date d'inscription : 13/11/2011
| Sujet: Ne cherchez plus vos couleurs grace à ma petite palette! Ven 13 Sep 2013 - 16:01 | |
| Bonjour à tous J'ai encore fait un tout petit programme de moins de 100 lignes qui devrait rendre service. Une palette multicolore s'affiche dans le form du dessous que l'on survolera avec la souris. Lors du survol le picture du premier form de gauche affiche en temps réel la couleur de la palette que la souris survole. Lorsque l'on clique sur la palette, le form de droite prend la couleur sélectionnée au clic de la souris et affiche les composantes rouge verte et bleue dans son caption. - Code:
-
init() palette() timer number_objects+1:timer_interval number_objects,100:on_timer number_objects,survol end
sub palette() dim_local c display for c=0 to 255 2d_pen_color c ,000,000:2d_line c,000,c,020 2d_pen_color 000,c ,000:2d_line c,020,c,040 2d_pen_color 000,000,c :2d_line c,040,c,060 2d_pen_color 255,c ,000:2d_line c+256,000,c+256,020 2d_pen_color 000,255,c :2d_line c+256,020,c+256,040 2d_pen_color c ,000,255:2d_line c+256,040,c+256,060 2d_pen_color 255,000,c :2d_line c,060,c,080 2d_pen_color c ,255,000:2d_line c,080,c,100 2d_pen_color 000,c ,255:2d_line c,100,c,120 2d_pen_color 255,c ,255:2d_line c+256,060,c+256,080 2d_pen_color 255,255,c :2d_line c+256,080,c+256,100 2d_pen_color c ,255,255:2d_line c+256,100,c+256,120 2d_pen_color c ,000,c :2d_line c,120,c,140 2d_pen_color c ,c ,000:2d_line c,140,c,160 2d_pen_color 000,c ,c :2d_line c,160,c,180 2d_pen_color 255,c ,c :2d_line c+256,120,c+256,140 2d_pen_color c ,255,c :2d_line c+256,140,c+256,160 2d_pen_color c ,c ,255:2d_line c+256,160,c+256,180 2d_pen_color c ,c ,c :2d_line c,180,c,200 next c 2d_pen_color 0,0,0:2d_line c,180,c,200 end_sub
sub init() label survol dim x,y,r,v,b,p,a,f1,f2,t border_small 0:caption 0,"COULEUR ACTIVE" width 0,width(0)/2:height 0,height(0)/2 picture number_objects+1:p=number_objects width number_objects,width(0)/2:height number_objects,height(0)/2 left number_objects,(width(0)-width(number_objects))/2 top number_objects,(height(0)-height(number_objects)-38)/2
alpha number_objects+1:a=number_objects left number_objects,10 top number_objects,top(number_objects-1)+height(number_objects-1) font_name number_objects,"Arial Narrow" font_size number_objects,8 font_bold number_objects
form number_objects+1:f1=number_objects border_small number_objects:color f1,255,255,255 top number_objects,top(0)+height(0):left number_objects,0 width number_objects,528:height number_objects,234 caption number_objects,"PALETTE MULTICOLORE" 2d_target_is number_objects
alpha number_objects+1:t=number_objects parent number_objects,number_objects-1 left number_objects,(width(number_objects-1)/2)+5 top number_objects,height(number_objects-1)-51 font_name number_objects,"Consolas" font_size number_objects,8 font_bold number_objects font_color number_objects,255,0,0 form number_objects+1:f2=number_objects border_small number_objects:color f2,255,255,255 left number_objects,left(0)+width(0) top number_objects,top(0) width number_objects,width(f1)-width(0) height number_objects,height(0) end_sub
survol: timer_off number_objects x=mouse_x_position(f1):y=mouse_y_position(f1) r=color_pixel_red(f1,x,y) v=color_pixel_green(f1,x,y) b=color_pixel_blue(f1,x,y) caption t,"ROUGE = "+str$(r)+" VERT = "+str$(v)+" BLEU = "+str$(b) color p,r,v,b caption a," COMPOSANTES ROUGE = "+str$(r)+" VERT = "+str$(v)+" BLEU = "+str$(b) if clicked(f1)=1 then color f2,r,v,b:caption f2,"ROUGE: "+str$(r)+" VERT: "+str$(v)+" BLEU: "+str$(b) timer_on number_objects return
En espérant que cela vous soit utile... A+
Dernière édition par bignono le Ven 13 Sep 2013 - 21:26, édité 1 fois | |
| | | Invité Invité
| Sujet: Re: Ne cherchez plus vos couleurs grace à ma petite palette! Ven 13 Sep 2013 - 16:38 | |
| Intéressant tin programme Bignono! J'étais en ce moment sur la création d'un menu avec le choix de couleurs. Je ne peux pas adapté ton programme pour la méthode que j'utilise, mais j'ai couleurs qui ne me plaise pas, et ton programme va bien m'aider à faire un meilleurs choix.
Bon travail! |
| | | Yannick
Nombre de messages : 8635 Age : 53 Localisation : Bretagne Date d'inscription : 15/02/2010
| Sujet: re Ven 13 Sep 2013 - 17:46 | |
| IL est chouette ce programme !
Bravo Bignono ! | |
| | | Jean Claude
Nombre de messages : 5950 Age : 70 Localisation : 83 Var Date d'inscription : 07/05/2009
| Sujet: Re: Ne cherchez plus vos couleurs grace à ma petite palette! Ven 13 Sep 2013 - 18:17 | |
| Très pratique pour faire un choix de couleur. Au passage la SUB survol() mérite qu'on la publie avec un exemple d'utilisation. Bravo
A+ | |
| | | Froggy One
Nombre de messages : 598 Date d'inscription : 06/01/2012
| Sujet: Re Ven 13 Sep 2013 - 18:59 | |
| Génial, très utile, j'adopte tout de suite ! Merci ! | |
| | | Jicehel
Nombre de messages : 5947 Age : 52 Localisation : 77500 Date d'inscription : 18/04/2011
| Sujet: Re: Ne cherchez plus vos couleurs grace à ma petite palette! Ven 13 Sep 2013 - 20:41 | |
| Superbe. Par contre, je ne sais pas pourquoi tu mets toujours le timer à 1 pour ce type de boucle. C'est dangereux 1, tu risque d'avoir des choses qui s'empilent si tu l'utilise dans un programme à cause du délai trop court qui fait que le traitement n'a pas encore eu lieu pour mettre le timer en off avant que l'événement se redéclenche. Perso, j'ai réglé le timer sur 100 et on ne voit pas la différence à l'usage, tout en laissant un minimum de temps quand même au système pour traiter l'événement.
En tout cas c'est une belle palette bien pratique. | |
| | | bignono
Nombre de messages : 1127 Age : 67 Localisation : Val de Marne Date d'inscription : 13/11/2011
| Sujet: Re: Ne cherchez plus vos couleurs grace à ma petite palette! Ven 13 Sep 2013 - 21:27 | |
| J'ai édité et réglé le timer_interval à 100.En effet Jicehel, ça fonctionne encore mieux comme ça! Merci à tous A+ | |
| | | Jicehel
Nombre de messages : 5947 Age : 52 Localisation : 77500 Date d'inscription : 18/04/2011
| Sujet: Re: Ne cherchez plus vos couleurs grace à ma petite palette! Ven 13 Sep 2013 - 21:39 | |
| Tu sais que c'est un plaisir de tester tes programmes. J'espère que tu auras le temps de nous faire encore quelques petits bijoux et d'autres super articles sur la 3D.
(PS: Tu as essayé DAZ ? ) | |
| | | pan59
Nombre de messages : 367 Age : 67 Localisation : Wattignies Date d'inscription : 16/10/2011
| Sujet: Choix de couleurs Dim 15 Sep 2013 - 9:27 | |
| Bonjour.
Merci Bignono pour ce super petit programme.
Pourrais-tu cependant me concocter un autre programme de choix de couleurs, avec les modifications suivantes:
- barre de couleurs verticales et non horizontales. - ensemble du programme sur une seule form et non 3.
Cela me permettrait de l'intégrer directement en sous-menu dans mon mon logiciel de traduction.
Merci d'avance. | |
| | | bignono
Nombre de messages : 1127 Age : 67 Localisation : Val de Marne Date d'inscription : 13/11/2011
| Sujet: Re: Ne cherchez plus vos couleurs grace à ma petite palette! Lun 16 Sep 2013 - 9:49 | |
| Bonjour Pan59, Bon, j'ai essayé de faire quelque chose d'à peu près... J'ai mis ma palette verticalement, mais j'ai réduit de moitié les bandes de couleurs de manière à ce que cela prenne moins de place en largeur. J'ai tout mis sur un seul form, le picture des bandes de couleur, le picture affichant la couleur survolée par la souris et le picture affichant la dernière couleur sélectionnée ou cliquée. - Code:
-
init() : palette() timer number_objects+1 : timer_interval number_objects,100 on_timer number_objects,survol end
survol: timer_off number_objects x=mouse_x_position(p1) : y=mouse_y_position(p1) r=color_pixel_red(p1,x,y) v=color_pixel_green(p1,x,y) b=color_pixel_blue(p1,x,y) caption a1,"ROUGE = "+str$(r) caption a2," VERT = "+str$(v) caption a3," BLEU = "+str$(b) color p2,r,v,b if clicked(p1)=1 color p3,r,v,b caption a4,"ROUGE: "+str$(r) caption a5," VERT: "+str$(v) caption a6," BLEU: "+str$(b) end_if timer_on number_objects return
sub palette() dim_local c display for c=0 to 255 2d_pen_color c ,000,000 : 2d_line 000,c,010,c 2d_pen_color 000,c ,000 : 2d_line 010,c,020,c 2d_pen_color 000,000,c : 2d_line 020,c,030,c 2d_pen_color 255,c ,000 : 2d_line 000,c+256,010,c+256 2d_pen_color 000,255,c : 2d_line 010,c+256,020,c+256 2d_pen_color c ,000,255 : 2d_line 020,c+256,030,c+256 2d_pen_color 255,000,c : 2d_line 030,c,040,c 2d_pen_color c ,255,000 : 2d_line 040,c,050,c 2d_pen_color 000,c ,255 : 2d_line 050,c,060,c 2d_pen_color 255,c ,255 : 2d_line 030,c+256,040,c+256 2d_pen_color 255,255,c : 2d_line 040,c+256,050,c+256 2d_pen_color c ,255,255 : 2d_line 050,c+256,060,c+256 2d_pen_color c ,000,c : 2d_line 060,c,070,c 2d_pen_color c ,c ,000 : 2d_line 070,c,080,c 2d_pen_color 000,c ,c : 2d_line 080,c,090,c 2d_pen_color 255,c ,c : 2d_line 060,c+256,070,c+256 2d_pen_color c ,255,c : 2d_line 070,c+256,080,c+256 2d_pen_color c ,c ,255 : 2d_line 080,c+256,090,c+256 2d_pen_color c ,c ,c : 2d_line 090,c,100,c next c 2d_pen_color 0 ,0 ,0 : 2d_line 090,c,100,c end_sub
sub init() label survol dim x,y,p1,p2,p3,a1,a2,a3,a4,a5,a6,r,v,b border_small 0 : caption 0,"PALETTE" : height 0,546 : width 0,240 picture number_objects+1 width number_objects,100:height number_objects,512 2d_target_is number_objects : p1=number_objects
picture number_objects+1 height number_objects,160 left number_objects,left(number_objects-1)+width(number_objects-1)+10 top number_objects,10 : p2=number_objects alphas() : font_color number_objects,200,0,0 : a1=number_objects alphas() : font_color number_objects,0,150,0 : a2=number_objects
alphas() : font_color number_objects,0,0,200 : a3=number_objects
picture number_objects+1 height number_objects,160 left number_objects,left(p2) top number_objects,top(p2)+256 : p3=number_objects
alphas() : font_color number_objects,200,0,0 : a4=number_objects
alphas() : font_color number_objects,0,150,0 : a5=number_objects
alphas() : font_color number_objects,0,0,200 : a6=number_objects caption a4,"ROUGE: 255" : caption a5," VERT: 255" : caption a6," BLEU: 255" end_sub
sub alphas() alpha number_objects+1 left number_objects,left(p2)+15 top number_objects,top(number_objects-1)+height(number_objects-1)+5 font_name number_objects,"Arial Narrow" font_bold number_objects : font_size number_objects,12 end_sub J'espère que cela te conviendra... A+ | |
| | | pan59
Nombre de messages : 367 Age : 67 Localisation : Wattignies Date d'inscription : 16/10/2011
| Sujet: Sélecteur de couleurs. Lun 16 Sep 2013 - 10:30 | |
| Bonjour.
Alors là, un grand merci Bignono.
Je teste de suite et te tiens au courant.
Bonne journée. | |
| | | pan59
Nombre de messages : 367 Age : 67 Localisation : Wattignies Date d'inscription : 16/10/2011
| Sujet: Sélecteur de couleurs. Lun 16 Sep 2013 - 14:02 | |
| Bonjour. Je rencontre un problème avec le code suivant, adapté de la sub de Bignono. En effet, les couleurs ne changent pas au survol de la souris, ni aux clics. Merci de votre aide. - Code:
-
dim index%
label survol
init() palette()
timer 560 timer_interval 560,100 on_timer 560,survol end
survol: timer_off 560
x=mouse_x_position(p1) y=mouse_y_position(p1)
r=color_pixel_red(p1,x,y) v=color_pixel_green(p1,x,y) b=color_pixel_blue(p1,x,y) caption 550,str$(x)+";"+str$(y)+": "+str$(r)+","+str$(v)+","+str$(b) caption a1,"Rouge = "+str$(r) caption a2," Vert = "+str$(v) caption a3," Bleu = "+str$(b) color p2,r,v,b
if clicked(p1)=1 color p3,r,v,b caption a4,"Rouge: "+str$(r) caption a5," Vert: "+str$(v) caption a6," Bleu: "+str$(b) end_if
timer_on 560 return
sub palette() dim_local c display
for c=0 to 255 2d_pen_color c ,000,000 : 2d_line 000,c,010,c 2d_pen_color 000,c ,000 : 2d_line 010,c,020,c 2d_pen_color 000,000,c : 2d_line 020,c,030,c 2d_pen_color 255,c ,000 : 2d_line 000,c+256,010,c+256 2d_pen_color 000,255,c : 2d_line 010,c+256,020,c+256 2d_pen_color c ,000,255 : 2d_line 020,c+256,030,c+256 2d_pen_color 255,000,c : 2d_line 030,c,040,c 2d_pen_color c ,255,000 : 2d_line 040,c,050,c 2d_pen_color 000,c ,255 : 2d_line 050,c,060,c 2d_pen_color 255,c ,255 : 2d_line 030,c+256,040,c+256 2d_pen_color 255,255,c : 2d_line 040,c+256,050,c+256 2d_pen_color c ,255,255 : 2d_line 050,c+256,060,c+256 2d_pen_color c ,000,c : 2d_line 060,c,070,c 2d_pen_color c ,c ,000 : 2d_line 070,c,080,c 2d_pen_color 000,c ,c : 2d_line 080,c,090,c 2d_pen_color 255,c ,c : 2d_line 060,c+256,070,c+256 2d_pen_color c ,255,c : 2d_line 070,c+256,080,c+256 2d_pen_color c ,c ,255 : 2d_line 080,c+256,090,c+256 2d_pen_color c ,c ,c : 2d_line 090,c,100,c next c
2d_pen_color 0 ,0 ,0 2d_line 090,c,100,c end_sub
sub init()
dim x,y,p1,p2,p3,a1,a2,a3,a4,a5,a6,r,v,b
form 550 border_small 550 caption 550,"Palette." height 550,546 width 550,240
2d_target_is 550
p1=551 picture 551 parent 551,550 width 551,100 height 551,512
p2=552 picture 552 parent 552,550 height 552,160 left 552,left(551)+width(551)+10 top 552,10
index%=552
alphas() font_color index%,200,0,0 a1=index%
alphas() font_color index%,0,150,0 a2=index%
alphas() font_color index%,0,0,200 a3=index%
index%=index%+1 picture index% parent index%,550 height index%,160 left index%,left(p2) top index%,top(p2)+256 p3=index%
alphas() font_color index%,200,0,0 a4=index%
alphas() font_color index%,0,150,0 a5=index%
alphas() font_color index%,0,0,200 a6=index%
caption a4,"Rouge: 255" caption a5," Vert: 255" caption a6," Bleu: 255" end_sub
sub alphas() index%=index%+1
alpha index% parent index%,550 left index%,left(p2)+15 top index%,top(index%-1)+height(index%-1)+5 font_name index%,"Arial Narrow" font_bold index% font_size index%,12 end_sub | |
| | | bignono
Nombre de messages : 1127 Age : 67 Localisation : Val de Marne Date d'inscription : 13/11/2011
| Sujet: Re: Ne cherchez plus vos couleurs grace à ma petite palette! Lun 16 Sep 2013 - 14:14 | |
| J'ai trouvé ton erreur, voici le code corrigé: - Code:
-
dim index%
label survol
init() palette()
timer 560 timer_interval 560,100 on_timer 560,survol end
survol: timer_off 560
x=mouse_x_position(p1) y=mouse_y_position(p1)
r=color_pixel_red(p1,x,y) v=color_pixel_green(p1,x,y) b=color_pixel_blue(p1,x,y)
caption 550,str$(x)+";"+str$(y)+": "+str$(r)+","+str$(v)+","+str$(b)
caption a1,"Rouge = "+str$(r) caption a2," Vert = "+str$(v) caption a3," Bleu = "+str$(b) color p2,r,v,b
if clicked(p1)=1 color p3,r,v,b caption a4,"Rouge: "+str$(r) caption a5," Vert: "+str$(v) caption a6," Bleu: "+str$(b) end_if
timer_on 560 return
sub palette() dim_local c display
for c=0 to 255 2d_pen_color c ,000,000 : 2d_line 000,c,010,c 2d_pen_color 000,c ,000 : 2d_line 010,c,020,c 2d_pen_color 000,000,c : 2d_line 020,c,030,c 2d_pen_color 255,c ,000 : 2d_line 000,c+256,010,c+256 2d_pen_color 000,255,c : 2d_line 010,c+256,020,c+256 2d_pen_color c ,000,255 : 2d_line 020,c+256,030,c+256 2d_pen_color 255,000,c : 2d_line 030,c,040,c 2d_pen_color c ,255,000 : 2d_line 040,c,050,c 2d_pen_color 000,c ,255 : 2d_line 050,c,060,c 2d_pen_color 255,c ,255 : 2d_line 030,c+256,040,c+256 2d_pen_color 255,255,c : 2d_line 040,c+256,050,c+256 2d_pen_color c ,255,255 : 2d_line 050,c+256,060,c+256 2d_pen_color c ,000,c : 2d_line 060,c,070,c 2d_pen_color c ,c ,000 : 2d_line 070,c,080,c 2d_pen_color 000,c ,c : 2d_line 080,c,090,c 2d_pen_color 255,c ,c : 2d_line 060,c+256,070,c+256 2d_pen_color c ,255,c : 2d_line 070,c+256,080,c+256 2d_pen_color c ,c ,255 : 2d_line 080,c+256,090,c+256 2d_pen_color c ,c ,c : 2d_line 090,c,100,c next c
2d_pen_color 0 ,0 ,0 2d_line 090,c,100,c end_sub
sub init()
dim x,y,p1,p2,p3,a1,a2,a3,a4,a5,a6,r,v,b
form 550 border_small 550 caption 550,"Palette." height 550,546 width 550,240
' 2d_target_is 550 : <=== l'erreur est ici!!!!
p1=551 picture 551 parent 551,550 width 551,100 height 551,512
2d_target_is 551 :' <=== ligne de Bignono
p2=552 picture 552 parent 552,550 height 552,160 left 552,left(551)+width(551)+10 top 552,10
index%=552
alphas() font_color index%,200,0,0 a1=index%
alphas() font_color index%,0,150,0 a2=index%
alphas() font_color index%,0,0,200 a3=index%
index%=index%+1 picture index% parent index%,550 height index%,160 left index%,left(p2) top index%,top(p2)+256 p3=index%
alphas() font_color index%,200,0,0 a4=index%
alphas() font_color index%,0,150,0 a5=index%
alphas() font_color index%,0,0,200 a6=index%
caption a4,"Rouge: 255" caption a5," Vert: 255" caption a6," Bleu: 255" end_sub
sub alphas() index%=index%+1
alpha index% parent index%,550 left index%,left(p2)+15 top index%,top(index%-1)+height(index%-1)+5 font_name index%,"Arial Narrow" font_bold index% font_size index%,12 end_sub A+ | |
| | | pan59
Nombre de messages : 367 Age : 67 Localisation : Wattignies Date d'inscription : 16/10/2011
| Sujet: Sélecteur de couleurs. Lun 16 Sep 2013 - 15:25 | |
| Bonjour.
Encore merci Bignono.
J'ai enfin réussi à inclure ta superbe routine dans mon programme principal. Auparavant, je faisais appel à un module externe écrit en BlitzBasic.
Bonne journée. | |
| | | Contenu sponsorisé
| Sujet: Re: Ne cherchez plus vos couleurs grace à ma petite palette! | |
| |
| | | | Ne cherchez plus vos couleurs grace à ma petite palette! | |
|
Sujets similaires | |
|
| Permission de ce forum: | Vous ne pouvez pas répondre aux sujets dans ce forum
| |
| |
| |