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 |
|
|
| Palette de couleur | |
| | Auteur | Message |
---|
Oscaribout
Nombre de messages : 471 Date d'inscription : 29/12/2016
| Sujet: Palette de couleur Jeu 24 Sep 2020 - 0:27 | |
| Ayant besoins d'une palette pour mon programme, j'ai recherché mais rapidement un exemple sur le forum. Je n'ai trouvé que celle de Papydall qui est très bien. Seulement je voulais éviter les lignes de datas du programme. Aussi j'ai revu son programme pour que je puisse l'adapter dans le mien. En attendant que le programme que je conçois soit fini, et afin que le forum respire de nouveau, j'ai vu l’arrêt des téléchargement, je me suis dit que ce serait une bonne chose de publier mon code. - Code:
-
' palette couleur pris sur celui de Papydall et modifié pour éviter les lignes de DATA error_french :width 0,380:height 0,360
print_locate 150,150 : print "FORM 0" :' idicatif de la fenêtre visible au départ ' 200 N° 1er objet de la palette, 0 est le parent grilCreationPaletteCouleur(200,0) :' SUB création de la palette avec les procédures de fonctionnement
on_click 0,GrilPaletteTESTE :' lancement à définir dans le programme avec le ' bouton qui branche à GrilPaletteTESTE } ici clic sur Form 0 END
' /_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
rem "=============================================================== rem GrilPaletteRecoit: "est un sous-prg de retour après fermeture rem " de celle-ci. On peut lire le résultat du retour en lisant rem variable$ = caption$(grilPaletteColor%+2). " Dans l'exemple rem " suivant c'est une boite de message qui donne ce retour rem "=============================================================== ' Retour après validation GrilPaletteRecoit: message caption$(grilPaletteColor%+2) return ' /_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
rem "=============================================================== rem " GrilPaletteTESTE : S/Pr qui appelle la palette de couleurs rem " On peut envoyer une couleur de cette façon: " rem caption grilPaletteColor%+2 ,"xxx,xxx,xxx" rem "===============================================================
' teste d'appel de la palette GrilPaletteTESTE: off_change grilPaletteColor%+241 rem "============================================================================ rem " La ligne suivante envoi une couleur (sans obligation) que la sub affiche caption grilPaletteColor%+2 ,"255,51,255" :' <----en exemple ' XXX,XXX,XXX ou "" ou ligne en commentaire rem " Seule ligne à modifier ! Le reste fait parti du programme ' ======= FIN ======= FIN ======= FIN ======== FIN ========= text grilPaletteColor%+241,"" on_change grilPaletteColor%+241,GrilPaletteRecoit show grilPaletteColor%+2 GrilPaletteTESTE() return
' /_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/ sub GrilPaletteTESTE() dim_local i% , a$ ,r% , g% , b% , c$ , v% if count(grilPaletteColor%) > 0 for i% = 1 to count(grilPaletteColor%)+4 show grilPaletteColor%+2+i% next i% end_if a$ = caption$(grilPaletteColor%+2) if a$ <> "" v% = instr(a$,",") if v% > 0 c$ = left$(a$,v%-1) r% = val(c$) a$ = right_pos$(a$,v%+1) v% = instr(a$,",") if v% > 0 c$ = left$(a$,v%-1) g% = val(c$) a$ = right_pos$(a$,v%+1) :' restant b% = val(a$) color grilPaletteColor%+237,r%,g%,b% caption grilPaletteColor%+238, caption$(grilPaletteColor%+2) end_if end_if end_if end_sub
' /_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
SUB grilCreationPaletteCouleur(no%,parent%) dim grilPaletteColor% : grilPaletteColor% = no% : no% = no%+1 dlist grilPaletteColor% dlist grilPaletteColor% + 1 no%=no%+2 no% = Gril_create_palette%(no%,parent%) : ' retour de no%, donne le prochain objet caption grilpaletteColor%+2,no% end_sub
' /_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
FNC Gril_create_palette%(no%,parent%) create_hide label GrilActioncouleur , grilPaletteCopy , grilPaletteExit , GrilPaletteTESTE , GrilPaletteRecoit dim_local r%,g%,b%, x%,y% ,suivi% ,c$,i% , b$ , trier% ,carre% ,alr% , alg%,alb% ,a$ carre% = no%-1 container carre%:width carre%,380:height carre%,360: font_color carre%,255,255,255 : color carre%,200,200,200 if parent% > 0 then parent no%,parent% x%=10: y% = 10 : suivi% = 0 for r% = 0 to 255 step 51 for g% = 0 to 255 step 51 for b% = 0 to 255 step 51 alr%=r%: if r% = 204 then alr%=230 alg%=g%: if g% = 204 then alg%=230 alb%=b%: if b% = 204 then alb%=230 :' pour avoir des couleurs plus douces comme fond d'écran c$ = right$("00"+str$(alr%),3) + right$("00"+str$(alg%),3) +right$("00"+str$(alb%),3)+" " if instr(a$,c$) = 0 a$ = a$ +c$ suivi% = suivi%+1 if suivi% = 18 suivi%=0 trier% = -1 - trier% end_if if trier% = 0 item_add grilPaletteColor%+1,rtrim$(c$) :' nette amélioration d'affichage des couleurs else :' sur ce principe item_add grilPaletteColor%,rtrim$(c$) end_if end_if next b% next g% next r% for r% = 1 to count(grilPaletteColor%) a$ = item_read$(grilPaletteColor%+1,r%) item_add grilPaletteColor%,a$ next r% : delete grilPaletteColor%+1 ' ~~~~~~~~~Création Pictures~~~~~~~~~~~~ y%=10 : x% = 10 for i% = 1 to count(grilPaletteColor%) a$ = item_read$(grilPaletteColor%,i%) ' ---------------------------------------- b$=left$(a$,3) : r% = val(b$) b$ = mid$(a$,4,3) : g% = val(b$) a$ = right$(a$,3) : b% = val(a$) ' ---------------------------------------- picture no%:parent no%,carre%:left no%,x% : top no%,y% : width no%,18 : height no%,18 color no%,r%,g%,b% : on_click no%,GrilActionCouleur x% = x%+19 : suivi% = suivi%+1 : no% = no%+1 if suivi% = 18 then x% = 10 : y% = y%+19 : suivi%=0 next i% ' ----------- gris x% =10 for r% = 51 to 255 step 12 picture no% :parent no%,carre%: left no%,x%:top no%,y%:width no%,18:height no%,18 c$ = right$("00"+str$(r%),3) + right$("00"+str$(r%),3) +right$("00"+str$(r%),3)+" " color no%,r%,r%,r% : item_add grilPaletteColor%,rtrim$(c$) : on_click no%,GrilActionCouleur x%=x%+19 : no%=no%+1 next r% ' --------------- affichage -------- picture no% :parent no%,carre%: left no%,12:top no%,260:width no%,50:height no%,50 no% = no%+1 alpha no% :parent no%,carre%:left no%,80:top no%,top(no%-1)+25: font_size no%,15 : font_color no%,0,0,0 no% = no%+1 ' bouton de sortie ALPHA no% :parent no%,carre%: left no%,250:top no%, top(no%-2) +10 : hint no%,"Sortie avec copie du code couleur" font_name no%,"Wingdings":font_size no%,25:color no%,255,255,255: caption no%,chr$(254) : font_color no%,111,111,111 on_click no%,grilPaletteCopy : hint no%,"Valider avec le code couleur" no% = no%+1 ALPHA no% :parent no%,carre%: left no%,310:top no%, top(no%-1) : hint no%,"Quitter" : font_color no%,111,111,111 font_name no%,"Wingdings":font_size no%,25:color no%,255,255,255: caption no%,chr$(253) on_click no%,grilPaletteExit : hint no%,"Quitter sans code couleur" no% = no%+1 Edit no%:parent no%,carre%:top no%,390 : on_change no%,GrilPaletteRecoit result no% end_FNC
' /_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
GrilActionCouleur: GrilActionCouleur() return ' ----------------------------------- sub GrilActionCouleur() dim_local a$,v%,b$ , r% ,g%,b% , color% ,clic% color% = grilPaletteColor% +237 clic% = number_click -grilPaletteColor% -2 a$ = item_read$(grilPaletteColor%,clic%) b$=left$(a$,3) : r% = val(b$) b$ = mid$(a$,4,3) : g% = val(b$) a$ = right$(a$,3) : b% = val(a$) b$ =str$(r%)+","+str$(g%)+","+str$(b%) caption grilPaletteColor%+2,b$ color Color%,r%,g%,b% caption color%+1,b$ end_sub
' /_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
grilPaletteCopy: text grilPaletteColor%+241,caption$(grilPaletteColor%+2) hide grilPaletteColor%+2 return
' /_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
grilPaletteExit: caption grilPaletteColor%+2,"" text grilPaletteColor%+241,"" hide grilPaletteColor%+2 return Cela dit, je ne sais pas quoi penser de l'ordre des couleurs. J'ai fait au mieux mais sans perdre de temps. | |
| | | Minibug
Nombre de messages : 4570 Age : 58 Localisation : Vienne (86) Date d'inscription : 09/02/2012
| Sujet: Re: Palette de couleur Jeu 24 Sep 2020 - 7:21 | |
| Bonjour Oscaribout
Merci pour ce partage.
J'aime bien le coté simple de la présentation, on ne se perds pas.
Après, concernant l'ordre et le classement des couleurs, j'ai moi même été confronté au même problème ! il y a peut être des règles mais je ne m'en suis jamais occupé...
Merci et bonne continuation... | |
| | | Jack Admin
Nombre de messages : 2395 Date d'inscription : 28/05/2007
| Sujet: Re: Palette de couleur Jeu 24 Sep 2020 - 9:10 | |
| Merci pour ton code. - oscaribout a écrit:
- j'ai vu l’arrêt des téléchargement
Rassure-toi l'arrêt des téléchargements n'est que passager, juste le temps que je trouve une solution. _________________ username : panoramic@jack-panoramic password : panoramic123 | |
| | | Oscaribout
Nombre de messages : 471 Date d'inscription : 29/12/2016
| Sujet: Re: Palette de couleur Jeu 24 Sep 2020 - 11:02 | |
| Bonjour à tous. Merci à vous deux pour le retour. - Jack a écrit:
- Rassure-toi l'arrêt des téléchargements n'est que passager, juste le temps que je trouve une solution.
Je suis rassuré. Je sais fort bien que tu ne veux pas abandonner Panoramic. Mais moi je me pose des questions. Je suis pratiquement certain que ton logiciel est sain. Cela dit: qu'en est-il des nôtres? A la lecture d'un fichier qu'on télécharge, rien n'est dit que le fichier téléchargé est identique à 100% à l'original. Ensuite, on fait un programme, tant qu'on publie du texte, et qu'on le récupère sur le forum, on est tranquille, mis à part que là aussi il y a des problèmes avec certains caractères qui sont modifiés, on a déjà discuté ici. Mais un programme qui est compilé sur notre machine, peut aussi être infecté par nous-même sans le savoir. Ensuite ce programme est envoyé à un forum. Qui dit là encore qu'il est identique à 100% à l'original de notre machine? Reste encore une étape: la réception d'un membre d'un forum qui télécharge le programme, et qui peut aussi avoir un virus. Moi je ne te considère pas comme coupable. Je pense que dans le cas dont on parle, Pedro et c'est pas une critique, devrait aussi pensé qu'il peut être aussi l'auteur d'un virus dont il ignore l’existence. A mon sens, ce n'est plus Panoramic, mais son logiciel. Il devient auteur, et il publie. Même si il est conçut avec Panoramic, le problème peut venir d'ailleurs. Lorsqu'on publie un code exécutable, on est l'auteur, et ça ne concerne pas particulièrement Pedro, mais chacun d'entre-nous, on est le nouveau responsable de son code. | |
| | | jdebord
Nombre de messages : 12 Date d'inscription : 20/09/2008
| Sujet: Re: Palette de couleur Jeu 24 Sep 2020 - 11:26 | |
| - Minibug a écrit:
Après, concernant l'ordre et le classement des couleurs, j'ai moi même été confronté au même problème ! il y a peut être des règles mais je ne m'en suis jamais occupé...
Une possibilité c'est d'utiliser le système HSV en faisant varier les paramètres dans des boucles. Exemple ici avec la palette de couleurs de FBCroco : on fixe les valeurs de S et V et on fait varier H de 0 à 345° par pas de 15°. Ceci crée 24 couleurs pour chaque valeur de S et V. Et voici une procédure en PANORAMIC pour convertir de HSV en RGB : - Code:
-
sub HSVtoRGB(H, S, V) ' Conversion HSV --> RGB ' Resultat dans RGB_R%, RGB_G%, RGB_B%
if S = 0 RGB_R% = int(V * 255) RGB_G% = RGB_R% RGB_B% = RGB_R% exit_sub end_if
dim_local I%, Z, F, P, Q, T, RR, GG, BB
Z = H / 60 I% = int(Z) F = frac(Z) P = V * (1 - S) Q = V * (1 - S * F) T = V * (1 - S * (1 - F))
select I% case 0 RR = V : GG = T : BB = P case 1 RR = Q : GG = V : BB = P case 2 RR = P : GG = V : BB = T case 3 RR = P : GG = Q : BB = V case 4 RR = T : GG = P : BB = V case 5 RR = V : GG = P : BB = Q end_select
RGB_R% = int(RR * 255) RGB_G% = int(GG * 255) RGB_B% = int(BB * 255) end_sub
| |
| | | Marc
Nombre de messages : 2466 Age : 63 Localisation : TOURS (37) Date d'inscription : 17/03/2014
| Sujet: Re: Palette de couleur Jeu 24 Sep 2020 - 11:43 | |
| Bonjour à tous ! Voici le code d’une autre palette de couleurs. - Code:
-
DIM r%,v%,b% LABEL Couleur_Ajustee,Couleur_Cliquee, Copier_Couleur Panel_Couleurs(10,10) : ' coordonnées x et y de la position du Panel couleurs end ' ------------------------------------------------------------------------------ SUB Panel_Couleurs(x%,y%) COMMAND_TARGET_IS 0 PANEL 500 COLOR 500,250,250,250 WIDTH 500,265 TOP 500,x% HEIGHT 500,216 LEFT 500,y% COMMAND_TARGET_IS 500 FONT_SIZE 500,10 Barre_Chromatique(4,4) Mosaique_couleurs(4,29) Barre_Niveaux_Gris(4,54) Zone_test_Couleur(4,82) Curseurs_RVB(4,146) END_SUB ' ------------------------------------------------------------------------------ SUB Curseurs_RVB(x%,y%) ALPHA 522 : TOP 522,y% : LEFT 522,x%+6 : CAPTION 522,"R" SCROLL_BAR 524 : WIDTH 524,233 : HEIGHT 524,18 : TOP 524,y% : LEFT 524,x%+24 MIN 524,0 : MAX 524,255 ALPHA 530 : TOP 530,y%+24 : LEFT 530,x%+6 : CAPTION 530,"G" SCROLL_BAR 532 : WIDTH 532,233 : HEIGHT 532,18 : TOP 532,y%+24 : LEFT 532,x%+24 MIN 532,0 : MAX 532,255 ALPHA 535 : TOP 535,y%+47 : LEFT 535,x%+7 : CAPTION 535,"B" SCROLL_BAR 537 : WIDTH 537,233 : HEIGHT 537,18 : TOP 537,y%+47: LEFT 537,x%+24 MIN 537,0 : MAX 537,255 ON_CHANGE 524,Couleur_Ajustee ON_CHANGE 532,Couleur_Ajustee ON_CHANGE 537,Couleur_Ajustee END_SUB ' ------------------------------------------------------------------------------ Couleur_Ajustee: OFF_CHANGE 524 OFF_CHANGE 532 OFF_CHANGE 537 IF NUMBER_CHANGE = 524 THEN r%=POSITION(524) IF NUMBER_CHANGE = 532 THEN v%=POSITION(532) IF NUMBER_CHANGE = 537 THEN b%=POSITION(537) IF NUMBER_CLICK = 523 THEN r%=r%-1 IF NUMBER_CLICK = 525 THEN r%=r%+1 IF NUMBER_CLICK = 531 THEN v%=v%-1 IF NUMBER_CLICK = 533 THEN v%=v%+1 IF NUMBER_CLICK = 536 THEN b%=b%-1 IF NUMBER_CLICK = 538 THEN b%=b%+1 IF r% < 0 THEN r% = 0 IF v% < 0 THEN v% = 0 IF b% < 0 THEN b% = 0 IF r% > 255 THEN r% = 255 IF v% > 255 THEN v% = 255 IF b% > 255 THEN b% = 255 COLOR 540,r%,v%,b% CAPTION 541,"R " + STR$(r%) CAPTION 542,"G " + STR$(v%) CAPTION 543,"B " + STR$(b%) POSITION 524,r% POSITION 532,v% POSITION 537,b% ON_CHANGE 524,Couleur_Ajustee ON_CHANGE 532,Couleur_Ajustee ON_CHANGE 537,Couleur_Ajustee RETURN ' ------------------------------------------------------------------------------ SUB Barre_Niveaux_Gris(x%,y%) DIM_LOCAL i%,c% PICTURE 520 WIDTH 520,256 HEIGHT 520,25 TOP 520,y% LEFT 520,x% 2D_TARGET_IS 520 c%=0 FOR i%=0 to 255 2D_PEN_COLOR i%,i%,i% 2D_LINE i%,0,i%,25 c%=c%+4 NEXT i% ON_CLICK 520,Couleur_Cliquee END_SUB ' ------------------------------------------------------------------------------ SUB Barre_Chromatique(x%,y%) DIM_LOCAL i%,c% PICTURE 510 WIDTH 510,256 HEIGHT 510,25 TOP 510,y% LEFT 510,x% 2D_TARGET_IS 510 c%=0 FOR i%=0 to 41 2D_PEN_COLOR 255,c%,0 2D_LINE i%,0,i%,25 c%=c%+6 NEXT i% c%=255 FOR i%=42 to 84 2D_PEN_COLOR c%,255,0 2D_LINE i%,0,i%,25 c%=c%-6 NEXT i% c%=0 FOR i%=85 to 127 2D_PEN_COLOR 0,255,c% 2D_LINE i%,0,i%,25 c%=c%+6 NEXT i% c%=255 FOR i%=128 to 170 2D_PEN_COLOR 0,c%,255 2D_LINE i%,0,i%,25 c%=c%-6 NEXT i% c%=0 FOR i%=171 to 213 2D_PEN_COLOR c%,0,255 2D_LINE i%,0,i%,25 c%=c%+6 NEXT i% c%=255 FOR i%=214 to 256 2D_PEN_COLOR 255,0,c% 2D_LINE i%,0,i%,25 c%=c%-6 NEXT i% ON_CLICK 510,Couleur_Cliquee END_SUB ' ------------------------------------------------------------------------------ SUB Mosaique_couleurs(x%,y%) DIM_LOCAL i% PICTURE 511 WIDTH 511,256 HEIGHT 511,25 TOP 511,y% LEFT 511,x% 2D_TARGET_IS 511 2D_PEN_COLOR 255,255,255 FOR i%=0 to 31 2D_LINE i%,0,i%,25 NEXT i% 2D_PEN_COLOR 255,0,0 FOR i%=32 to 63 2D_LINE i%,0,i%,25 NEXT i% 2D_PEN_COLOR 0,255,0 FOR i%=64 to 95 2D_LINE i%,0,i%,25 NEXT i% 2D_PEN_COLOR 0,0,255 FOR i%=96 to 127 2D_LINE i%,0,i%,25 NEXT i% 2D_PEN_COLOR 0,255,255 FOR i%=128 to 159 2D_LINE i%,0,i%,25 NEXT i% 2D_PEN_COLOR 255,0,255 FOR i%=160 to 191 2D_LINE i%,0,i%,25 NEXT i% 2D_PEN_COLOR 255,255,0 FOR i%=192 to 223 2D_LINE i%,0,i%,25 NEXT i% 2D_PEN_COLOR 0,0,0 FOR i%=224 to 255 2D_LINE i%,0,i%,25 NEXT i% ON_CLICK 511,Couleur_Cliquee END_SUB ' ------------------------------------------------------------------------------ Couleur_Cliquee: OFF_CHANGE 524 OFF_CHANGE 532 OFF_CHANGE 537 r% = COLOR_PIXEL_RED(NUMBER_CLICK,MOUSE_X_POSITION(NUMBER_CLICK),MOUSE_Y_POSITION(NUMBER_CLICK)) v% = 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 540,r%,v%,b% CAPTION 541,"R " + STR$(r%) CAPTION 542,"G " + STR$(v%) CAPTION 543,"B " + STR$(b%) POSITION 524,r% POSITION 532,v% POSITION 537,b% ON_CHANGE 524,Couleur_Ajustee ON_CHANGE 532,Couleur_Ajustee ON_CHANGE 537,Couleur_Ajustee RETURN ' ------------------------------------------------------------------------------ SUB Zone_Test_Couleur(x%,y%) PICTURE 540 WIDTH 540,180 HEIGHT 540,60 TOP 540,y% LEFT 540,x% COLOR 540,0,0,0 ALPHA 541 TOP 541,y%+1 LEFT 541,x% + 200 ALPHA 542 TOP 542,y% + 20 LEFT 542,x% + 199 ALPHA 543 TOP 543,y% + 39 LEFT 543,x% + 200 CAPTION 541,"R 0" CAPTION 542,"G 0" CAPTION 543,"B 0" ON_CLICK 540,Copier_Couleur END_SUB ' ------------------------------------------------------------------------------ Copier_couleur: CLIPBOARD_STRING_COPY " "+STR$(r%)+","+STR$(v%)+","+STR$(b%) RETURN
Elle est construite sur un PANEL, pour pouvoir la placer facilement où l’on veut. En partant du haut, dans le premier tiers on y voit 3 barres cliquables : - 1 barre chromatique - 1 barre avec les trois couleurs primaires, les trois couleurs complémentaires, le noir et le blanc. - 1 barre d’échelle de gris Dans le deuxième tiers, une zone indicative de la couleur choisie et ses valeurs RVB. Dans le troisième tiers, trois SCROLL_BAR qui permettent d’affiner très précisément la couleur choisie. Cette palette de couleurs donne accès aux 16 millions de couleurs disponibles dans Panoramic. Bonne programmation et bonne journée à tous ! | |
| | | Oscaribout
Nombre de messages : 471 Date d'inscription : 29/12/2016
| Sujet: Re: Palette de couleur Jeu 24 Sep 2020 - 13:59 | |
| Merci pour les échanges. Je vais garder dans un coin les codes fournis. Je l'avais déjà fait sur mon navigateur, mais après un crash il y a plusieurs mois, je n'ai pu récupérer mes favoris de celui-ci.
Cela dit, j'ai intégré la palette hier-soir avec quelques modifications pour pouvoir l'installé sur un programme assez complexe dans son ensemble, vu qu'il y a aussi des possibilités de réinitialiser une partie du programme, et c'est d'ailleurs la raison que j'ai publié ce programme qui aurait été dilué dans le code, et difficile à comprendre.
Cela dit pour ce type d'objet qu'on peut appeler, il y a le retour des informations dans les deux sens: pouvoir envoyer une couleur qui est déjà défini et qu'on souhaite modifier, et la récupération du nouveau code. Mon programme n'utilise qu'une seule variable globale, et pour le transfert j'ai eu l'idée d'utiliser un container qui a un caption, et grâce à cela, j'ai éviter d'utiliser d'autre variables.
Cela dit, je viens de tester sur ma tablette, le code, et évidemment il y a une erreur. Ainsi Panoramic sur
androïde ne possède pas de fonction avec FNC. Je ne sais pas ce que cela va donner au final. Depuis juillet je code à l’aveuglette en pensant à Androïde. J'ai posé des questions qui sont restées sans réponse. Je me dis que mon idée de départ est mal barré. Comme il y a eu des jeux publiés sur androïde j'ai cru que c'était gagnant. Mais en dehors de la souris et pas de fenêtre, je ne pensais pas que PRINT_TARGET_IS, PRINT_LOCATE, TEXT_WIDTH() et beaucoup d'autres n'était pas codés. Il y a une erreur dans l'aide concernant Structure, et je sais pas ce qui se cache dedans. Il me manque des informations pour réfléchir à la manière d'utiliser la tablette. Je crois qu'il va falloir plutôt a faire un programme de transfert entre les informations que je recueille sur la tablette, et les reporter sur le PC. (Peut-être que parmi les commandes citées, certaines sont codées, mais pas visible dans l'aide). | |
| | | JL35
Nombre de messages : 7112 Localisation : 77 Date d'inscription : 29/11/2007
| Sujet: Re: Palette de couleur Jeu 24 Sep 2020 - 21:35 | |
| Juste pour le fun, une palette des 216 couleurs HTML: - Code:
-
DIM r,g,b,a$,k Palette216(30,40) a$ = CLIPBOARD_STRING_PASTE$ k = INSTR(a$,","): r = VAL(LEFT$(a$,k-1)): a$ = RIGHT_POS$(a$,k+1) k = INSTR(a$,","): g = VAL(LEFT$(a$,k-1)): b = VAL(RIGHT_POS$(a$,k+1)) PRINT "R = "+STR$(r)+", G = "+STR$(g)+", B = "+STR$(b) end
SUB Palette216(x,y) ' Choix d'une couleur dans une palette de 216 (couleurs html) affichée en x,y ' de l'écran total. ' Résultat dans le clipboard sous forme d'une chaîne r,g,b (ex. "192,24,33") IF LABEL("Aff_pal216") = 0 THEN LABEL Aff_pal216 IF LABEL("Qui_pal216") = 0 THEN LABEL Qui_pal216 DIM_LOCAL a$, nf, np, nq, nt, nb, wc, hc, r, g, b, i, j wc = 15: hc = 12 nf=3000: WHILE OBJECT_EXISTS(nf)=1: nf=nf+1: END_WHILE FORM nf: TOP nf,y: LEFT nf,x: WIDTH nf,12*(wc+1)+16: HEIGHT nf,18*hc+84 BORDER_SMALL nf CAPTION nf," PALETTE 216 COULEURS HTML": ON_CLOSE nf,Qui_pal216 np=nf+1: WHILE OBJECT_EXISTS(np)=1: np=np+1: END_WHILE PICTURE np: PARENT np,nf: FULL_SPACE np: 2D_TARGET_IS np ON_CLICK np,Aff_pal216 nq=np+1: WHILE OBJECT_EXISTS(nq)=1: nq=nq+1: END_WHILE PICTURE nq: PARENT nq,nf: TOP nq,18*hc+22: LEFT nq,5: WIDTH nq,3*wc HEIGHT nq,25 nt=nq+1: WHILE OBJECT_EXISTS(nt)=1: nt=nt+1: END_WHILE ALPHA nt: PARENT nt,nf: TOP nt,TOP(nq): LEFT nt,LEFT(nq)+WIDTH(nq)+5 FONT_NAME nt,"Lucida Console" nb=nt+1: WHILE OBJECT_EXISTS(nb)=1: nb=nb+1: END_WHILE BUTTON nb: PARENT nb,nf:TOP nb,TOP(nq): WIDTH nb,50: LEFT nb,WIDTH(nf)-70 CAPTION nb,"OK" ON_CLICK nb,Qui_pal216 r = 0: g = 0: b = 0 FOR j=0 TO 17 y = j*(hc+1) FOR i = 0 TO 11 x = i*(wc+1): 2D_PEN_COLOR r,g,b: 2D_FILL_COLOR r,g,b 2D_RECTANGLE x,y,x+wc,y+hc b=b+51 IF b>255 b=0: g=g+51 IF g>255 g=0: r=r+51 END_IF END_IF NEXT i NEXT j r=0: g=0: b=0: COLOR nq,r,g,b CAPTION nt,"#00 00 00"+CHR$(10)+STR$(r)+","+STR$(g)+","+STR$(b) 2D_TARGET_IS nq: 2D_PEN_COLOR 164,164,164 WHILE 1>0: WAIT 100: TO_FOREGROUND nf: END_WHILE Aff_pal216: x=MOUSE_X_LEFT_DOWN(np): y=MOUSE_Y_LEFT_DOWN(np) r=COLOR_PIXEL_RED(np,x,y): g=COLOR_PIXEL_GREEN(np,x,y): b=COLOR_PIXEL_BLUE(np,x,y) 2D_FILL_COLOR r,g,b: 2D_RECTANGLE 0,0,WIDTH(nq),HEIGHT(nq) a$ = "#"+RIGHT$("0"+HEX$(r),2)+" "+RIGHT$("0"+HEX$(g),2)+" "+RIGHT$("0"+HEX$(b),2) a$ = a$ + CHR$(10)+STR$(r)+","+STR$(g)+","+STR$(b) CAPTION nt,a$ RETURN Qui_pal216: 2D_TARGET_IS 0: DELETE nf CLIPBOARD_STRING_COPY STR$(r)+","+STR$(g)+","+STR$(b) END_SUB | |
| | | Oscaribout
Nombre de messages : 471 Date d'inscription : 29/12/2016
| Sujet: Re: Palette de couleur Jeu 24 Sep 2020 - 21:40 | |
| Je savais que tu en avais fait une, mais je ne la trouvais pas, mais j'ai pas beaucoup insisté pour essayé de la trouver. En voyant celle de Papydall, je suis partie directement au codage. | |
| | | Contenu sponsorisé
| Sujet: Re: Palette de couleur | |
| |
| | | | Palette de couleur | |
|
Sujets similaires | |
|
| Permission de ce forum: | Vous ne pouvez pas répondre aux sujets dans ce forum
| |
| |
| |