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 |
|
|
| Outils couleurs | |
|
+3Jean Claude silverman Yannick 7 participants | |
Auteur | Message |
---|
Yannick
Nombre de messages : 8635 Age : 53 Localisation : Bretagne Date d'inscription : 15/02/2010
| Sujet: Outils couleurs Jeu 18 Mai 2017 - 20:09 | |
| J' ai pondu cette outils pour mon éditeur. Il n' y ait pas encore inclus mais qu' en pensez vous ? - Code:
-
dim no%,i% dim r%,g%,b% dim EtatStandByPalette% dim ColPerso%(16) dim FenPaletteCouleur% : no%=no%+1 : FenPaletteCouleur%=no% dim ContPalette% : no%=no%+1 : ContPalette%=no% dim PictPalWindows%(48): for i%=1 to 48 : no%=no%+1 : PictPalWindows%(i%)=no% : next i% dim AlphPalette%(2) : for i%=1 to 2 : no%=no%+1 : AlphPalette%(i%)=no% : next i% dim PictPalPerso%(16) : for i%=1 to 16 : no%=no%+1 : PictPalPerso%(i%)=no% : next i% dim PictPalette% : no%=no%+1 : PictPalette%=no% dim PictChxPalette% : no%=no%+1 : PictChxPalette%=no% dim SpnPalette%(3) : for i%=1 to 3 : no%=no%+1 : SpnPalette%(i%)=no% : next i% dim AlphPalConvert%(3) : for i%=1 to 3 : no%=no%+1 : AlphPalConvert%(i%)=no% : next i%
label MouseMoveCadre label MouseMovePalette label ClicBtn label ClicPalWindows label ClicPalPerso label DClicPictChxPalette label DClicPalPerso label Change button 9999 top 9999,10 left 9999,10 caption 9999,"Outils couleurs" on_click 9999,ClicBtn end
sub FormPalette() dim_local i%,l%,t%,x%,y%,V$ if object_exists(FenPaletteCouleur%)=1 show FenPaletteCouleur% else form FenPaletteCouleur% border_small FenPaletteCouleur% height FenPaletteCouleur%,305 width FenPaletteCouleur%,450 top FenPaletteCouleur%,(screen_y-height(FenPaletteCouleur%))/2 left FenPaletteCouleur%,(screen_x-width(FenPaletteCouleur%))/2 caption FenPaletteCouleur%,"Outils couleurs" font_name FenPaletteCouleur%,"Arial" font_size FenPaletteCouleur%,8 font_color FenPaletteCouleur%,85,85,127 container ContPalette% parent ContPalette%,FenPaletteCouleur% height ContPalette%,height_client(FenPaletteCouleur%)-5 width ContPalette%,width_client(FenPaletteCouleur%)-10 top ContPalette%,0 left ContPalette%,5 on_mouse_move ContPalette%,MouseMoveCadre alpha AlphPalette%(1) parent AlphPalette%(1),ContPalette% top AlphPalette%(1),15 left AlphPalette%(1),5 caption AlphPalette%(1),"Couleurs Windows :" l%=5 for x%=1 to 8 t%=top(AlphPalette%(1))+height(AlphPalette%(1))+5 for y%=1 to 6 i%=i%+1 picture PictPalWindows%(i%) parent PictPalWindows%(i%),ContPalette% height PictPalWindows%(i%),20 width PictPalWindows%(i%),20 top PictPalWindows%(i%),t% left PictPalWindows%(i%),l% read V$ color PictPalWindows%(i%),hex(mid$(v$,1,2)),hex(mid$(v$,3,2)),hex(mid$(v$,5,2)) cursor_point PictPalWindows%(i%) on_click PictPalWindows%(i%),ClicPalWindows t%=t%+25 next y% l%=l%+25 next x% alpha AlphPalette%(2) parent AlphPalette%(2),ContPalette% top AlphPalette%(2),top(PictpalWindows%(48))+height(PictpalWindows%(48))+10 left AlphPalette%(2),5 caption AlphPalette%(2),"Couleurs Personnalisées :"
l%=5 i%=0 for x%=1 to 8 t%=top(AlphPalette%(2))+height(AlphPalette%(2))+5 for y%=1 to 2 i%=i%+1 picture PictPalPerso%(i%) parent PictPalPerso%(i%),ContPalette% height PictPalPerso%(i%),20 width PictPalPerso%(i%),20 top PictPalPerso%(i%),t% left PictPalPerso%(i%),l% color PictPalPerso%(i%),0,0,0 cursor_point PictPalPerso%(i%) hint PictPalPerso%(i%),"Clic pour sélectionner"+chr$(13)+"Double clic pour effacer" on_click PictPalPerso%(i%),ClicPalPerso on_double_click PictPalPerso%(i%),DClicPalPerso t%=t%+25 next y% l%=l%+25 next x%
picture PictPalette% parent PictPalette%,ContPalette% height PictPalette%,128 width PictPalette%,158 top PictPalette%,top(AlphPalette%(1))+height(AlphPalette%(1))+5 left PictPalette%,left(PictPalWindows%(48))+width(PictPalWindows%(48))+30 file_load PictPalette%,"palette.bmp" cursor_cross PictPalette% on_mouse_move PictPalette%,MouseMovePalette on_click PictPalette%,ClicBtn picture PictChxPalette% parent PictChxPalette%,ContPalette% height PictChxPalette%,22 width PictChxPalette%,22 top PictChxPalette%,top(PictPalette%)+height(PictPalette%)+5 left PictChxPalette%,left(PictPalette%) color PictChxPalette%,0,0,0 cursor_point PictChxPalette% hint PictChxPalette%,"Cliquer pour convertir"+chr$(13)+"Double clic pour sauvegarder dans les couleurs personnalisées" on_click PictChxPalette%,ClicBtn on_double_click PictChxPalette%,DClicPictChxPalette t%=top(PictChxPalette%) l%=left(PictChxPalette%)+width(PictChxPalette%)+5 for i%=1 to 3 spin SpnPalette%(i%) parent SpnPalette%(i%),ContPalette% width SpnPalette%(i%),45 top SpnPalette%(i%),t% left SpnPalette%(i%),l% l%=l%+width(SpnPalette%(i%))+5 font_color SpnPalette%(i%),255,255,255 min SpnPalette%(i%),0 max SpnPalette%(i%),255 next i% color SpnPalette%(1),255,0,0 color SpnPalette%(2),0,180,0 color SpnPalette%(3),0,0,255 alpha AlphPalConvert%(1) parent AlphPalConvert%(1),ContPalette% caption AlphPalConvert%(1),"RGB => " top AlphPalConvert%(1),top(SpnPalette%(1))+height(SpnPalette%(1))+10 left AlphPalConvert%(1),left(PictChxPalette%) alpha AlphPalConvert%(2) parent AlphPalConvert%(2),ContPalette% caption AlphPalConvert%(2),"HTML => " top AlphPalConvert%(2),top(AlphPalConvert%(1))+height(AlphPalConvert%(1))+5 left AlphPalConvert%(2),left(PictChxPalette%) alpha AlphPalConvert%(3) parent AlphPalConvert%(3),ContPalette% caption AlphPalConvert%(3),"KGF => " top AlphPalConvert%(3),top(AlphPalConvert%(2))+height(AlphPalConvert%(2))+5 left AlphPalConvert%(3),left(PictChxPalette%) end_if for i%=1 to 16 if ColPerso%(i%)<>0 r%= bin_and(ColPerso%(i%),255) g%= bin_and(int(ColPerso%(i%)/256),255) b%= bin_and(int(ColPerso%(i%)/(256*256)),255) color PictPalPerso%(i%),r%,g%,b% end_if next i% end_sub
Change: if number_change>(SpnPalette%(1)-1) and number_change<(SpnPalette%(3)+1) if position(number_change)>255 or position(number_change)<0 message "Valeur incorrecte !"+chr$(13)+"Valeur de 0 et 255" position number_change,255 return end_if color PictChxPalette%,position(SpnPalette%(1)),position(SpnPalette%(2)),position(SpnPalette%(3)) return end_if return
MouseMovePalette: off_mouse_move PictPalette% if mouse_x_position(PictPalette%)<0 or mouse_y_position(PictPalette%)<0 return end_if if object_exists(SpnPalette%(1))=1 : off_change SpnPalette%(1) : end_if if object_exists(SpnPalette%(2))=1 : off_change SpnPalette%(2) : end_if if object_exists(SpnPalette%(3))=1 : off_change SpnPalette%(3) : end_if r%=color_pixel_red(PictPalette%,mouse_x_position(PictPalette%),mouse_y_position(PictPalette%)) g%=color_pixel_green(PictPalette%,mouse_x_position(PictPalette%),mouse_y_position(PictPalette%)) b%=color_pixel_blue(PictPalette%,mouse_x_position(PictPalette%),mouse_y_position(PictPalette%)) color PictChxPalette%,r%,g%,b% position SpnPalette%(1),r% position SpnPalette%(2),g% position SpnPalette%(3),b% on_mouse_move PictPalette%,MouseMovePalette return
MouseMoveCadre: if object_exists(SpnPalette%(1))=1 : on_change SpnPalette%(1),Change : end_if if object_exists(SpnPalette%(2))=1 : on_change SpnPalette%(2),Change : end_if if object_exists(SpnPalette%(3))=1 : on_change SpnPalette%(3),Change : end_if return
ClicBtn: if number_click = 9999 FormPalette() return end_if if number_click = PictPalette% if EtatStandByPalette%=0 EtatStandByPalette%=1 off_mouse_move PictPalette% cursor_default PictPalette% else EtatStandByPalette%=0 on_mouse_move PictPalette%,MouseMovePalette cursor_cross PictPalette% end_if return end_if if number_click = PictChxPalette% r%=color_pixel_red(PictChxPalette%,mouse_x_position(PictChxPalette%),mouse_y_position(PictChxPalette%)) g%=color_pixel_green(PictChxPalette%,mouse_x_position(PictChxPalette%),mouse_y_position(PictChxPalette%)) b%=color_pixel_blue(PictChxPalette%,mouse_x_position(PictChxPalette%),mouse_y_position(PictChxPalette%)) ConvertChxPalette(r%,g%,b%) return end_if return
DClicPictChxPalette: r%=color_pixel_red(PictChxPalette%,mouse_x_position(PictChxPalette%),mouse_y_position(PictChxPalette%)) g%=color_pixel_green(PictChxPalette%,mouse_x_position(PictChxPalette%),mouse_y_position(PictChxPalette%)) b%=color_pixel_blue(PictChxPalette%,mouse_x_position(PictChxPalette%),mouse_y_position(PictChxPalette%)) SaveColorPerso(r%,g%,b%) return
sub SaveColorPerso(r1%,g1%,b1%) dim_local i% for i%=1 to 16 if ColPerso%(i%)=0 ColPerso%(i%)=(b1%*256+g1%)*256+r1% color PictPalPerso%(i%),r1%,g1%,b1% exit_for end_if next i% end_sub
ClicPalWindows: off_change SpnPalette%(1) off_change SpnPalette%(2) off_change SpnPalette%(3) r%=color_pixel_red(number_click,mouse_x_position(number_click),mouse_y_position(number_click)) g%=color_pixel_green(number_click,mouse_x_position(number_click),mouse_y_position(number_click)) b%=color_pixel_blue(number_click,mouse_x_position(number_click),mouse_y_position(number_click)) color PictChxPalette%,r%,g%,b% position SpnPalette%(1),r% position SpnPalette%(2),g% position SpnPalette%(3),b% return
ClicPalPerso: if mouse_left_down(number_click)=1 off_change SpnPalette%(1) off_change SpnPalette%(2) off_change SpnPalette%(3) r%=color_pixel_red(number_click,mouse_x_position(number_click),mouse_y_position(number_click)) g%=color_pixel_green(number_click,mouse_x_position(number_click),mouse_y_position(number_click)) b%=color_pixel_blue(number_click,mouse_x_position(number_click),mouse_y_position(number_click)) color PictChxPalette%,r%,g%,b% position SpnPalette%(1),r% position SpnPalette%(2),g% position SpnPalette%(3),b% else message "Raté !!" end_if return
DClicPalPerso: color number_double_click,0,0,0 InitColPerso() return
sub InitColPerso() dim_local i% for i%=1 to 16 if number_double_click = PictPalPerso%(i%) ColPerso%(i%)=0 end_if next i% end_sub
sub ConvertChxPalette(R1%,G1%,B1%) dim_local RH$,GH$,BH$,KGFc$ RH$ = Hex$(R1%) : if R1% < 16 then RH$ = "0" + RH$ GH$ = Hex$(G1%) : if G1% < 16 then GH$ = "0" + GH$ BH$ = Hex$(B1%) : if B1% < 16 then BH$ = "0" + BH$ KGFc$ = str$((B1%*256+G1%)*256+R1%) caption AlphPalConvert%(1),"RGB => "+str$(R1%)+","+str$(G1%)+","+str$(B1%) caption AlphPalConvert%(2),"HTML => "+RH$+GH$+BH$ caption AlphPalConvert%(3),"KGF => "+KGFc$ end_sub
DATA "FF8080","FFFF80","80FF80","00FF80","80FFFF","0080FF","FF80C0","FF80FF" DATA "FF0000","FFFF00","80FF00","00FF40","00FFFF","0080C0","8080C0","FF00FF" DATA "804040","FF8040","00FF00","008080","004080","8080FF","800040","FF0080" DATA "800000","FF8000","008000","008040","0000FF","0000A0","800080","8000FF" DATA "400000","804000","004000","004040","000080","000040","400040","400080" DATA "000000","808000","808040","808080","408080","C0C0C0","400040","FFFFFF"
L' image à sauvegarder sous "palette.bmp" dans le même dossier que le source :
Dernière édition par Yannick le Dim 21 Mai 2017 - 17:34, édité 4 fois (Raison : amélioration/correction) | |
| | | silverman
Nombre de messages : 970 Age : 52 Localisation : Picardie Date d'inscription : 18/03/2015
| Sujet: Re: Outils couleurs Jeu 18 Mai 2017 - 22:01 | |
| C'est bien réalisé! C'est un détail, mais pourquoi tu affiches tout au fur et à mesure de la création? Ca serait plus esthétique de tout créer caché et d'afficher le résultat d'un coup. Et aussi, si on entre une valeur>255 dans les spin, ça plante. | |
| | | Yannick
Nombre de messages : 8635 Age : 53 Localisation : Bretagne Date d'inscription : 15/02/2010
| Sujet: re Jeu 18 Mai 2017 - 22:11 | |
| @ Silverman, Attention...le panoramicianisme aiguë est en train de t' atteindre ! Un spin a deux petites flèches pour son utilisation. C' est du vice que de vouloir entrer un nombre en force. Bon à part t 'exorciser avec des incantations du style : Papydall !!!! sors de ce corps !!! je vais devoir sécuriser çà... Pour l' affichage en une seule fois, j' ai peur que l' attente soit un peu longue. il y a un petit nombre d' objets... Je vais voir si c' est pas trop long. En tout cas, merci de ton retour. | |
| | | Jean Claude
Nombre de messages : 5950 Age : 70 Localisation : 83 Var Date d'inscription : 07/05/2009
| Sujet: Re: Outils couleurs Ven 19 Mai 2017 - 8:28 | |
| Elle est très bien cette palette ! Mais bon, il faut bien que je fasse une petite remarque. Le picture qui affiche la couleur est un peu petit, on ne saisi pas au premier coup d’œil que c'est le résultat. Une autre (pour la route) : tu as choisi d'utiliser on_click et on_double_click pour sauver ou supprimer une couleur personnalisée, je pense qu'un bon nombre d'utilisateurs va se poser la question comment on fait pour sélectionner une couleur. J'ai bien vu que tu as pris la précaution de mettre des infos-bulles (hint) pour informer l'utilisateur, mais encore faut-il qu'il survole l'objet pour s'en apercevoir. Moi, j'aurai plutôt mis des jolis boutons pour que l'utilisateur voit , de suite, comment procéder. Sinon, tu peux garder ton système en ajoutant un alpha d'information.... A+ | |
| | | Yannick
Nombre de messages : 8635 Age : 53 Localisation : Bretagne Date d'inscription : 15/02/2010
| Sujet: re Ven 19 Mai 2017 - 14:48 | |
| Le source a été édité dans le premier post. Les SPIN sont sécurisés. @ Jean-Claude, D' habitude tu fais comment pour sélectionner quelque chose dans un formulaire ?... Toute fois je te concède la taille du picture de sélection qui est un peu petit. Pour ma défense, c' est un outils pondu en une après midi. Donc il est logique qu' il y ait des imperfections. Cet outils est insérable tel qu' il est, mais dans l' éditeur il aura d' autres fonctions. Il sera possible, dès que Jack en donnera les clés, d' insérer la couleur dans le source actif selon le format choisi. Les couleurs personnalisées seront enregistrées dans le fichier des paramètres pour être conservées d' une utilisation à une autre de l' éditeur. Je sais par expérience qu' une fois que l' on a trouvé une couleur qui nous plait, on a tendance à en user et en abuser...
Dernière édition par Yannick le Sam 20 Mai 2017 - 18:10, édité 1 fois | |
| | | Jean Claude
Nombre de messages : 5950 Age : 70 Localisation : 83 Var Date d'inscription : 07/05/2009
| Sujet: Re: Outils couleurs Ven 19 Mai 2017 - 16:04 | |
| - Yannick a écrit:
- D' habitude tu fais comment pour sélectionner quelque chose dans un formulaire ?...
Ben... , je suis les instructions du programme. Bon, il faut attendre de voir l'application dans ton programme, là il sera temps de commenter. A+ | |
| | | silverman
Nombre de messages : 970 Age : 52 Localisation : Picardie Date d'inscription : 18/03/2015
| Sujet: Re: Outils couleurs Ven 19 Mai 2017 - 16:16 | |
| Je me suis permis d'ajouter create_hide/create_show pour tester(repéré par des rem); Contrairement à tes craintes, l'affichage est nettement plus rapide. - Code:
-
dim no%,i% dim r%,g%,b% dim EtatStandByPalette% dim ColPerso%(16) dim FenPaletteCouleur% : no%=no%+1 : FenPaletteCouleur%=no% dim ContPalette% : no%=no%+1 : ContPalette%=no% dim PictPalWindows%(48): for i%=1 to 48 : no%=no%+1 : PictPalWindows%(i%)=no% : next i% dim AlphPalette%(2) : for i%=1 to 2 : no%=no%+1 : AlphPalette%(i%)=no% : next i% dim PictPalPerso%(16) : for i%=1 to 16 : no%=no%+1 : PictPalPerso%(i%)=no% : next i% dim PictPalette% : no%=no%+1 : PictPalette%=no% dim PictChxPalette% : no%=no%+1 : PictChxPalette%=no% dim SpnPalette%(3) : for i%=1 to 3 : no%=no%+1 : SpnPalette%(i%)=no% : next i% dim AlphPalConvert%(3) : for i%=1 to 3 : no%=no%+1 : AlphPalConvert%(i%)=no% : next i%
label MouseMoveCadre label MouseMovePalette label ClicBtn label ClicPalWindows label ClicPalPerso label DClicPictChxPalette label DClicPalPerso label Change button 9999 top 9999,10 left 9999,10 caption 9999,"Outils couleurs" on_click 9999,ClicBtn end
sub FormPalette() dim_local i%,l%,t%,x%,y%,V$ if object_exists(FenPaletteCouleur%)=1 show FenPaletteCouleur% else create_hide :' <------------------------------ form FenPaletteCouleur% border_small FenPaletteCouleur% height FenPaletteCouleur%,305 width FenPaletteCouleur%,450 top FenPaletteCouleur%,(screen_y-height(FenPaletteCouleur%))/2 left FenPaletteCouleur%,(screen_x-width(FenPaletteCouleur%))/2 caption FenPaletteCouleur%,"Outils couleurs" font_name FenPaletteCouleur%,"Arial" font_size FenPaletteCouleur%,8 font_color FenPaletteCouleur%,85,85,127 container ContPalette% parent ContPalette%,FenPaletteCouleur% height ContPalette%,height_client(FenPaletteCouleur%)-5 width ContPalette%,width_client(FenPaletteCouleur%)-10 top ContPalette%,0 left ContPalette%,5 on_mouse_move ContPalette%,MouseMoveCadre alpha AlphPalette%(1) parent AlphPalette%(1),ContPalette% top AlphPalette%(1),15 left AlphPalette%(1),5 caption AlphPalette%(1),"Couleurs Windows :" l%=5 for x%=1 to 8 t%=top(AlphPalette%(1))+height(AlphPalette%(1))+5 for y%=1 to 6 i%=i%+1 picture PictPalWindows%(i%) parent PictPalWindows%(i%),ContPalette% height PictPalWindows%(i%),20 width PictPalWindows%(i%),20 top PictPalWindows%(i%),t% left PictPalWindows%(i%),l% read V$ color PictPalWindows%(i%),hex(mid$(v$,1,2)),hex(mid$(v$,3,2)),hex(mid$(v$,5,2)) cursor_point PictPalWindows%(i%) on_click PictPalWindows%(i%),ClicPalWindows t%=t%+25 next y% l%=l%+25 next x% alpha AlphPalette%(2) parent AlphPalette%(2),ContPalette% top AlphPalette%(2),top(PictpalWindows%(48))+height(PictpalWindows%(48))+10 left AlphPalette%(2),5 caption AlphPalette%(2),"Couleurs Personnalisées :"
l%=5 i%=0 for x%=1 to 8 t%=top(AlphPalette%(2))+height(AlphPalette%(2))+5 for y%=1 to 2 i%=i%+1 picture PictPalPerso%(i%) parent PictPalPerso%(i%),ContPalette% height PictPalPerso%(i%),20 width PictPalPerso%(i%),20 top PictPalPerso%(i%),t% left PictPalPerso%(i%),l% color PictPalPerso%(i%),0,0,0 cursor_point PictPalPerso%(i%) hint PictPalPerso%(i%),"Clic pour sélectionner"+chr$(13)+"Double clic pour effacer" on_click PictPalPerso%(i%),ClicPalPerso on_double_click PictPalPerso%(i%),DClicPalPerso t%=t%+25 next y% l%=l%+25 next x%
picture PictPalette% parent PictPalette%,ContPalette% height PictPalette%,128 width PictPalette%,158 top PictPalette%,top(AlphPalette%(1))+height(AlphPalette%(1))+5 left PictPalette%,left(PictPalWindows%(48))+width(PictPalWindows%(48))+30 file_load PictPalette%,"palette.bmp" cursor_cross PictPalette% on_mouse_move PictPalette%,MouseMovePalette on_click PictPalette%,ClicBtn picture PictChxPalette% parent PictChxPalette%,ContPalette% height PictChxPalette%,22 width PictChxPalette%,22 top PictChxPalette%,top(PictPalette%)+height(PictPalette%)+5 left PictChxPalette%,left(PictPalette%) color PictChxPalette%,0,0,0 cursor_point PictChxPalette% hint PictChxPalette%,"Cliquer pour convertir"+chr$(13)+"Double clic pour sauvegarder dans les couleurs personnalisées" on_click PictChxPalette%,ClicBtn on_double_click PictChxPalette%,DClicPictChxPalette t%=top(PictChxPalette%) l%=left(PictChxPalette%)+width(PictChxPalette%)+5 for i%=1 to 3 spin SpnPalette%(i%) parent SpnPalette%(i%),ContPalette% width SpnPalette%(i%),45 top SpnPalette%(i%),t% left SpnPalette%(i%),l% l%=l%+width(SpnPalette%(i%))+5 font_color SpnPalette%(i%),255,255,255 min SpnPalette%(i%),0 max SpnPalette%(i%),255 next i% color SpnPalette%(1),255,0,0 color SpnPalette%(2),0,180,0 color SpnPalette%(3),0,0,255 alpha AlphPalConvert%(1) parent AlphPalConvert%(1),ContPalette% caption AlphPalConvert%(1),"RGB => " top AlphPalConvert%(1),top(SpnPalette%(1))+height(SpnPalette%(1))+10 left AlphPalConvert%(1),left(PictChxPalette%) alpha AlphPalConvert%(2) parent AlphPalConvert%(2),ContPalette% caption AlphPalConvert%(2),"HTML => " top AlphPalConvert%(2),top(AlphPalConvert%(1))+height(AlphPalConvert%(1))+5 left AlphPalConvert%(2),left(PictChxPalette%) alpha AlphPalConvert%(3) parent AlphPalConvert%(3),ContPalette% caption AlphPalConvert%(3),"KGF => " top AlphPalConvert%(3),top(AlphPalConvert%(2))+height(AlphPalConvert%(2))+5 left AlphPalConvert%(3),left(PictChxPalette%) end_if for i%=1 to 16 if ColPerso%(i%)<>0 r%= bin_and(ColPerso%(i%),255) g%= bin_and(int(ColPerso%(i%)/256),255) b%= bin_and(int(ColPerso%(i%)/(256*256)),255) color PictPalPerso%(i%),r%,g%,b% end_if next i% create_show :' <------------------------------ top FenPaletteCouleur%,(screen_y-height(FenPaletteCouleur%))/2 :' <------------------------------ left FenPaletteCouleur%,(screen_x-width(FenPaletteCouleur%))/2 :' <------------------------------ show_all :' <------------------------------ end_sub
Change: if number_change>(SpnPalette%(1)-1) and number_change<(SpnPalette%(3)+1) if position(number_change)>255 or position(number_change)<0 message "Valeur incorrect !"+chr$(13)+"Valeur de 0 et 255" position number_change,255 return end_if color PictChxPalette%,position(SpnPalette%(1)),position(SpnPalette%(2)),position(SpnPalette%(3)) return end_if return
MouseMovePalette: off_mouse_move PictPalette% if object_exists(SpnPalette%(1))=1 : off_change SpnPalette%(1) : end_if if object_exists(SpnPalette%(2))=1 : off_change SpnPalette%(2) : end_if if object_exists(SpnPalette%(3))=1 : off_change SpnPalette%(3) : end_if r%=color_pixel_red(PictPalette%,mouse_x_position(PictPalette%),mouse_y_position(PictPalette%)) g%=color_pixel_green(PictPalette%,mouse_x_position(PictPalette%),mouse_y_position(PictPalette%)) b%=color_pixel_blue(PictPalette%,mouse_x_position(PictPalette%),mouse_y_position(PictPalette%)) color PictChxPalette%,r%,g%,b% position SpnPalette%(1),r% position SpnPalette%(2),g% position SpnPalette%(3),b% on_mouse_move PictPalette%,MouseMovePalette return
MouseMoveCadre: if object_exists(SpnPalette%(1))=1 : on_change SpnPalette%(1),Change : end_if if object_exists(SpnPalette%(2))=1 : on_change SpnPalette%(2),Change : end_if if object_exists(SpnPalette%(3))=1 : on_change SpnPalette%(3),Change : end_if return
ClicBtn: if number_click = 9999 FormPalette() return end_if if number_click = PictPalette% if EtatStandByPalette%=0 EtatStandByPalette%=1 off_mouse_move PictPalette% cursor_default PictPalette% else EtatStandByPalette%=0 on_mouse_move PictPalette%,MouseMovePalette cursor_cross PictPalette% end_if return end_if if number_click = PictChxPalette% r%=color_pixel_red(PictChxPalette%,mouse_x_position(PictChxPalette%),mouse_y_position(PictChxPalette%)) g%=color_pixel_green(PictChxPalette%,mouse_x_position(PictChxPalette%),mouse_y_position(PictChxPalette%)) b%=color_pixel_blue(PictChxPalette%,mouse_x_position(PictChxPalette%),mouse_y_position(PictChxPalette%)) ConvertChxPalette(r%,g%,b%) return end_if return
DClicPictChxPalette: r%=color_pixel_red(PictChxPalette%,mouse_x_position(PictChxPalette%),mouse_y_position(PictChxPalette%)) g%=color_pixel_green(PictChxPalette%,mouse_x_position(PictChxPalette%),mouse_y_position(PictChxPalette%)) b%=color_pixel_blue(PictChxPalette%,mouse_x_position(PictChxPalette%),mouse_y_position(PictChxPalette%)) SaveColorPerso(r%,g%,b%) return
sub SaveColorPerso(r1%,g1%,b1%) dim_local i% for i%=1 to 16 if ColPerso%(i%)=0 ColPerso%(i%)=(b1%*256+g1%)*256+r1% color PictPalPerso%(i%),r1%,g1%,b1% exit_for end_if next i% end_sub
ClicPalWindows: off_change SpnPalette%(1) off_change SpnPalette%(2) off_change SpnPalette%(3) r%=color_pixel_red(number_click,mouse_x_position(number_click),mouse_y_position(number_click)) g%=color_pixel_green(number_click,mouse_x_position(number_click),mouse_y_position(number_click)) b%=color_pixel_blue(number_click,mouse_x_position(number_click),mouse_y_position(number_click)) color PictChxPalette%,r%,g%,b% position SpnPalette%(1),r% position SpnPalette%(2),g% position SpnPalette%(3),b% return
ClicPalPerso: if mouse_left_down(number_click)=1 off_change SpnPalette%(1) off_change SpnPalette%(2) off_change SpnPalette%(3) r%=color_pixel_red(number_click,mouse_x_position(number_click),mouse_y_position(number_click)) g%=color_pixel_green(number_click,mouse_x_position(number_click),mouse_y_position(number_click)) b%=color_pixel_blue(number_click,mouse_x_position(number_click),mouse_y_position(number_click)) color PictChxPalette%,r%,g%,b% position SpnPalette%(1),r% position SpnPalette%(2),g% position SpnPalette%(3),b% else message "Raté !!" end_if return
DClicPalPerso: color number_double_click,0,0,0 InitColPerso() return
sub InitColPerso() dim_local i% for i%=1 to 16 if number_double_click = PictPalPerso%(i%) ColPerso%(i%)=0 end_if next i% end_sub
sub ConvertChxPalette(R1%,G1%,B1%) dim_local RH$,GH$,BH$,KGFc$ RH$ = Hex$(R1%) : if R1% < 16 then RH$ = "0" + RH$ GH$ = Hex$(G1%) : if G1% < 16 then GH$ = "0" + GH$ BH$ = Hex$(B1%) : if B1% < 16 then BH$ = "0" + BH$ KGFc$ = str$((B1%*256+G1%)*256+R1%) caption AlphPalConvert%(1),"RGB => "+str$(R1%)+","+str$(G1%)+","+str$(B1%) caption AlphPalConvert%(2),"HTML => "+RH$+GH$+BH$ caption AlphPalConvert%(3),"KGF => "+KGFc$ end_sub
DATA "FF8080","FFFF80","80FF80","00FF80","80FFFF","0080FF","FF80C0","FF80FF" DATA "FF0000","FFFF00","80FF00","00FF40","00FFFF","0080C0","8080C0","FF00FF" DATA "804040","FF8040","00FF00","008080","004080","8080FF","800040","FF0080" DATA "800000","FF8000","008000","008040","0000FF","0000A0","800080","8000FF" DATA "400000","804000","004000","004040","000080","000040","400040","400080" DATA "000000","808000","808040","808080","408080","C0C0C0","400040","FFFFFF" | |
| | | Yannick
Nombre de messages : 8635 Age : 53 Localisation : Bretagne Date d'inscription : 15/02/2010
| Sujet: re Ven 19 Mai 2017 - 16:46 | |
| Merci Silverman. Je vais tester et sûrement prendre. Là j' étais déjà sur l' outils de recherche dans un objet Synedit. Ouff...j' ai enfin réussi à lui faire faire ce que je voulais. La bataille fur rude mais : Yannick : 1 Synedit : 0 Edit : C' est adopté pour cet outils mais cela ne fonctionne pas à tous les coups. certains objets lorsque leur taille est conditionnée à celle du form conserve leur taille par defaut. | |
| | | Yannick
Nombre de messages : 8635 Age : 53 Localisation : Bretagne Date d'inscription : 15/02/2010
| Sujet: re Ven 19 Mai 2017 - 17:02 | |
| | |
| | | silverman
Nombre de messages : 970 Age : 52 Localisation : Picardie Date d'inscription : 18/03/2015
| Sujet: Re: Outils couleurs Ven 19 Mai 2017 - 17:19 | |
| Oui, c'est un bug de create_hide, il faut utiliser le couple create_hide/create show pour chaque form créé et positionner avant show/show_all. - Yannick a écrit:
- Là j' étais déjà sur l' outils de recherche dans un objet Synedit.
Ouff...j' ai enfin réussi à lui faire faire ce que je voulais. Tu n'as pas eu des pb de recherche non trouvée avec les majuscules/minuscules dans synedit? Comment tu gères la casse? | |
| | | Yannick
Nombre de messages : 8635 Age : 53 Localisation : Bretagne Date d'inscription : 15/02/2010
| Sujet: re Ven 19 Mai 2017 - 18:21 | |
| Ben, il y a deux choses d' ingérable vu que l' on a pas la main sur tout. C' est la casse et le sens de la recherche. L' algorithme de recherche est interne donc.... et comme on ne peut récupérer ni sélectionner, ni récupérer une sélection... Je ne vois pas comment on peut éviter ce souci. Je vais faire un extrait de cette outils de recherche. Il faudra le prendre comme il est et l' adapter au fur et à mesure des avancées de Jack.finalement non, il faudrait que je mette tout. Et là ca commence à faire des lignes. | |
| | | Jean Claude
Nombre de messages : 5950 Age : 70 Localisation : 83 Var Date d'inscription : 07/05/2009
| Sujet: Re: Outils couleurs Ven 19 Mai 2017 - 18:40 | |
| C'est clair que pour le moment l'objet SYNEDIT est encore incomplet. J'ai précisément arrêter de coder un essai d'éditeur en m'apercevant qu'on ne peut pas faire une recherche (FIND) complète d'un mot vu que FIND est sensible à la casse. Il y a d'autres obstacles que je n'ai pas pu contourner (ex: je n'ai pas trouvé comment écrire dans l'objet SYNEDIT), alors plutôt que de passer des heures à chercher l'impossible, j'ai mis en stand-by. J'espère que notre nouveau président va doubler les congés, Jack en profitera pour se consacrer à Panoramic. Quoi !? on peut rêver non, ce n'est pas encore interdit. A+ | |
| | | Yannick
Nombre de messages : 8635 Age : 53 Localisation : Bretagne Date d'inscription : 15/02/2010
| Sujet: RE Ven 19 Mai 2017 - 18:47 | |
| Attention Jean-Claude... tu penses, tu rêves,...tu deviens un élément subversif... Bon, vivement la version 28i7 avec SYNEDIT complet... ...ou presque. | |
| | | Jean Claude
Nombre de messages : 5950 Age : 70 Localisation : 83 Var Date d'inscription : 07/05/2009
| Sujet: Re: Outils couleurs Ven 19 Mai 2017 - 20:08 | |
| J'aime bien être subversif | |
| | | Yannick
Nombre de messages : 8635 Age : 53 Localisation : Bretagne Date d'inscription : 15/02/2010
| Sujet: re Ven 19 Mai 2017 - 20:45 | |
| @ Tous les nouveaux, Voilà comment on saborde son propre sujet. Ceci n' est pas un exemple à suivre. Méfiez vous, le panoramicianisme est une maladie très contagieuse. | |
| | | Jean Claude
Nombre de messages : 5950 Age : 70 Localisation : 83 Var Date d'inscription : 07/05/2009
| Sujet: Re: Outils couleurs Ven 19 Mai 2017 - 21:12 | |
| | |
| | | bignono
Nombre de messages : 1127 Age : 67 Localisation : Val de Marne Date d'inscription : 13/11/2011
| Sujet: Re: Outils couleurs Sam 20 Mai 2017 - 15:05 | |
| Bonjour à tous! Pas mal la palette, mais j'ai eu un bug! Une erreur: (29) Not correct arithmetic expression: Function call with negative value. Line 198. Cela se produit, (je m'en suis aperçu en faisant un faux mouvement avec la souris) si on reste cliqué sur le bouton gauche de la souris et que l'on sort de l'image de la palette soit par la gauche soit par le haut! Si on sort par la droite ou le bas, pas d'erreur! Voilà, à plus! | |
| | | Yannick
Nombre de messages : 8635 Age : 53 Localisation : Bretagne Date d'inscription : 15/02/2010
| Sujet: re Sam 20 Mai 2017 - 15:31 | |
| Correction effectuée ! | |
| | | Minibug
Nombre de messages : 4570 Age : 58 Localisation : Vienne (86) Date d'inscription : 09/02/2012
| Sujet: Re: Outils couleurs Sam 20 Mai 2017 - 15:34 | |
| Petite palette très sympa ! Je garde... - Yannick a écrit:
- J' ai pondu cette outils pour mon éditeur.
Alors du coup c'est normal que Bignono y trouve des coquilles. Rassures toi yannick, on ne fait pas d' omelette sans casser des œufs !!! PS : - Yannick a écrit:
- Bon à part t 'exorciser avec des incantations du style : Papydall !!!! sors de ce corps !!!
A propos de Papydall, quelqu'un a des nouvelles ?! Cela fait 2 semaines qu'il n'est pas passé sur le site. C'est surprenant non ? Papydall, si tu nous entends, fais nous un petit coucou s'il te plaît...
Dernière édition par Laurent (Minibug) le Sam 20 Mai 2017 - 15:41, édité 1 fois | |
| | | Yannick
Nombre de messages : 8635 Age : 53 Localisation : Bretagne Date d'inscription : 15/02/2010
| Sujet: Re Sam 20 Mai 2017 - 15:41 | |
| Inutile de vous dire que comme la poule je m' y suis cassé le... non, je ne le dirai pas... Prends avec la correction du bug de Bignono. J' édite le code dans le premier post à chaque correction. cela évite des codes de partout. | |
| | | Minibug
Nombre de messages : 4570 Age : 58 Localisation : Vienne (86) Date d'inscription : 09/02/2012
| Sujet: Re: Outils couleurs Sam 20 Mai 2017 - 15:43 | |
| Salut Yannick, on s'est croisé ! | |
| | | Yannick
Nombre de messages : 8635 Age : 53 Localisation : Bretagne Date d'inscription : 15/02/2010
| Sujet: re Sam 20 Mai 2017 - 15:57 | |
| Salut Laurent,
Je ne sais pas où est passé Papydall, peut être profite t il de sa famille, j' ai cru comprendre qu' elle est nombreuse et pas toujours près de lui certains habitant en Europe.
Pour revenir sur le bug détecté par Bignono. Il vient d' une négligence de ma part la ligne en cause :
r%=color_pixel_red(PictPalette%,mouse_x_position(PictPalette%),mouse_y_position(PictPalette%))
donc dès que l' on sort de PictPalette% avec le bouton enfoncé la valeur est négative J' ai ajouté ceci :
if mouse_x_position(PictPalette%)<0 or mouse_y_position(PictPalette%)<0 return end_if
et le bug semble résolu. | |
| | | Jean Claude
Nombre de messages : 5950 Age : 70 Localisation : 83 Var Date d'inscription : 07/05/2009
| Sujet: Re: Outils couleurs Sam 20 Mai 2017 - 16:57 | |
| Super, je vois que Bignono veille au grain. Voir veille à ce que font les poules. @Papydall, Envois-nous un petit message. A+ | |
| | | papydall
Nombre de messages : 7017 Age : 74 Localisation : Moknine (Tunisie) Entre la chaise et le clavier Date d'inscription : 03/03/2012
| Sujet: Re: Outils couleurs Sam 20 Mai 2017 - 17:49 | |
| Salut tout le monde. Après deux semaines d’absence, me revoilà de retour ! J’étais hospitalisé pour une intervention chirurgicale sur mon œil droit. L’opération s’est parfaitement déroulé et j’ai retrouvé ma « vue d’aigle ». Merci à mon ophtalmologue et à son équipe. Ceci étant, je ne peux passer sous silence un tel massacre de la langue française commis par : - le massacreur de la langue française a écrit:
- Cette outils est insérable tel que mes il va avoir d' autres fonctions dans l' éditeur.
Bon, il y a de la lecture sur le forum et je dois me mettre à jour. Aussi, je remercie tous ceux qui se sont soucié de mon absence, sans oublier les autres. Pour me faire pardonner par Yannick : BRAVO pour la palette et merci à ceux qui ont contribué à son débogage. A+ | |
| | | Yannick
Nombre de messages : 8635 Age : 53 Localisation : Bretagne Date d'inscription : 15/02/2010
| Sujet: re Sam 20 Mai 2017 - 18:12 | |
| Content de te relire Papydall ! Et de voir que tu as retrouvé un oeil de lynx même si c' est à mes dépends... | |
| | | Contenu sponsorisé
| Sujet: Re: Outils couleurs | |
| |
| | | | Outils couleurs | |
|
Sujets similaires | |
|
| Permission de ce forum: | Vous ne pouvez pas répondre aux sujets dans ce forum
| |
| |
| |