FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC

Développement d'applications avec le langage Panoramic
 
AccueilAccueil  FAQFAQ  RechercherRechercher  S'enregistrerS'enregistrer  MembresMembres  GroupesGroupes  Connexion  
Derniers sujets
» Problème de compilateur.
par Pedro Alvarez Hier à 20:01

» COMPILATEUR V 0.9 beta 8 du 18 aout 2017
par Pedro Alvarez Hier à 19:54

» Pb 17 (en analyse): ITEM_SELECT ne fonctionne pas
par Jack Jeu 17 Aoû 2017 - 19:26

» Compilateur FBPano
par Mike Jeu 17 Aoû 2017 - 13:52

» un nouveau editeur panobasic
par Jean Claude Jeu 17 Aoû 2017 - 10:18

» Le compilateur.
par Pedro Alvarez Jeu 17 Aoû 2017 - 8:36

» Pb 16 (en analyse): ON_CLOSE plante à l'exécution
par Jack Mer 16 Aoû 2017 - 20:00

» Pb 15 (en analyse): TIMER_ON plante à l'exécution
par Jack Mer 16 Aoû 2017 - 19:58

» KGF_dll - nouvelles versions
par Yannick Dim 13 Aoû 2017 - 17:35

» probleme d'outil
par Yannick Dim 13 Aoû 2017 - 17:32

» Carte de France des régions
par Yannick Sam 12 Aoû 2017 - 21:33

» Pb 14 (en analyse): PRINT_LOCATE plante à l'exécution
par Jack Ven 11 Aoû 2017 - 22:37

» Petit avertissement [Mots réservés]
par papydall Ven 11 Aoû 2017 - 13:45

» Distances sur plan
par JL35 Jeu 10 Aoû 2017 - 21:29

» Tracé : Triangle, Carrée, Dents de scie, Sinusoïde redressée
par papydall Jeu 10 Aoû 2017 - 14:52

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Août 2017
LunMarMerJeuVenSamDim
 123456
78910111213
14151617181920
21222324252627
28293031   
CalendrierCalendrier

Partagez | 
 

 Palette de couleurs

Voir le sujet précédent Voir le sujet suivant Aller en bas 
AuteurMessage
JL35



Nombre de messages : 5920
Localisation : 77
Date d'inscription : 29/11/2007

MessageSujet: Palette de couleurs   Sam 18 Fév 2017 - 2:15

Encore une petite sub qui affiche une palette de 16 ou 256 couleurs au choix, à un emplacement voulu de l'écran.
La couleur choisie est rendue en ascii dans le presse-papier sous la forme "R,G,B".
Rien de révolutionnaire, c'est histoire de causer.
Code:
Palette(20,20,16): ' appel de la sub
Terminate
' ==============================================================================
SUB Palette(x%,y%,nbc%)
  ' Affichage d'une palette de 16 ou 216 couleurs (couleurs HTML) en x%,y% de l'écran
  ' nbc% = 16 ou 216, x% et y% en valeurs absolues dans l'écran.
  ' Couleur choisie rendue en ascii dans le clipboard sous la forme "r,g,b"
  ' exemple: "192,102,64"
  IF LABEL("Chcoul") = 0 THEN LABEL Chcoul
  IF LABEL("Retpal") = 0 THEN LABEL Retpal
  DIM_LOCAL w%,h%,e%,nr%,a$,r,g,b,i,j,ff
  ff = 0
  DATA "Palette16"
  DATA 0,0,0,0,0,128,0,0,255,0,128,0,0,128,128,0,255,0,0,255,255,128,0,0
  DATA 128,0,128,128,128,0,128,128,128,192,102,192,255,0,0,255,0,255,255,255,0,255,255,255
  w% = 20: h% = 15: e% = 3
  IF nbc% <> 16 AND nbc% <> 216 THEN nbc% = 16
  nr% = 2: IF nbc% = 216 THEN nr% = 27
  PICTURE 949: FULL_SPACE 949: i=WIDTH(0)-WIDTH(949): j=HEIGHT(0)-HEIGHT(949): DELETE 949
  FORM 949: BORDER_SMALL 949: TOP 949,y%: LEFT 949,x%: WIDTH 949,w%*8+e%*8+i
    HEIGHT 949,(h%+e%)*nr%+25+j: CAPTION 949," - PALETTE  "+STR$(nbc%)+"  COULEURS -"
    FONT_NAME 949,"Arial": FONT_BOLD 949
  PICTURE 950: PARENT 950,949: WIDTH 950,w%*8+e%*7: HEIGHT 950,(h%+e%)*nr%
    ON_CLICK 950,Chcoul
  PICTURE 951: PARENT 951,949: TOP 951,HEIGHT(950): WIDTH 951,w%*2+e%
    HEIGHT 951,24: COLOR 951,0,0,0
  ALPHA 952: PARENT 952,949: TOP 952,TOP(951)-2: LEFT 952,WIDTH(951)+5
    CAPTION 952,"# 00 00 00"+CHR$(10)+" 0, 0, 0"
  BUTTON 953: PARENT 953,949: TOP 953,TOP(951): WIDTH 953,60: LEFT 953,WIDTH(950)-60
    CAPTION 953,"OK": ON_CLICK 953,Retpal
  2D_TARGET_IS 950
  SELECT nbc%
      CASE 16
          RESTORE: READ a$: WHILE a$<>"Palette16": READ a$: END_WHILE
          FOR j = 0 TO 1
              y% = j*(h%+e%)
              FOR i = 0 TO 7
                  READ r: READ g: READ b: x% = i*(w%+e%)
                  2D_FILL_COLOR r,g,b: 2D_RECTANGLE x%,y%,x%+w%,y%+h%
              NEXT i
          NEXT j
      CASE 216
          r = 0: g = 0: b = 0
          FOR j=0 TO 26
              y% = j*(h%+e%)
              FOR i = 0 TO 7
                  x% = i*(w%+e%): ' 2D_PEN_COLOR r,g,b:
                  2D_FILL_COLOR r,g,b
                  2D_RECTANGLE x%,y%,x%+w%,y%+h%
                  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
  END_SELECT
  2D_TARGET_IS 951
  WHILE ff = 0: PAUSE 100: END_WHILE: DELETE 949
  CLIPBOARD_STRING_COPY STR$(r)+","+STR$(g)+","+STR$(b)
  EXIT_SUB
' =====
Chcoul:
  x% = MOUSE_X_LEFT_DOWN(950): y% = MOUSE_Y_LEFT_DOWN(950)
  r=COLOR_PIXEL_RED(950,x%,y%): g=COLOR_PIXEL_GREEN(950,x%,y%): b=COLOR_PIXEL_BLUE(950,x%,y%)
  2D_FILL_COLOR r,g,b: 2D_RECTANGLE 0,0,WIDTH(951),HEIGHT(951)
  a$ = "# "+RIGHT$("0"+HEX$(r),2)+" "+RIGHT$("0"+HEX$(g),2)+" "+RIGHT$("0"+HEX$(b),2)+CHR$(10)
  a$ = a$+" "+STR$(r)+", "+STR$(g)+", "+STR$(b): CAPTION 952,a$
RETURN
' =====
Retpal:
  ff = 1
RETURN
END_SUB
' ==============================================================================
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Yannick

avatar

Nombre de messages : 7968
Age : 46
Localisation : Bretagne
Date d'inscription : 15/02/2010

MessageSujet: Re   Sam 18 Fév 2017 - 3:10

Hum...cela devient de la gourmandise...
mais ça tombe bien je suis un gros gourmand.
Laughing
En plus, elle pourrait bien me servir dans mon programme en cours. Wink
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Marc37



Nombre de messages : 443
Age : 56
Localisation : TOURS
Date d'inscription : 18/03/2014

MessageSujet: Re: Palette de couleurs   Sam 18 Fév 2017 - 6:17

Salut à tous !

Je vois que JL35 s'est mis au travail pour le prochain PLM35... Very Happy

cheers  Merci JL35 pour ton programme, téléchargé et adopté !  Laughing
Je me suis permis de dupliquer la ligne 71 :   CLIPBOARD_STRING_COPY STR$(r)+","+STR$(g)+","+STR$(b)
en la copiant dans la sub Chcoul: en dernière ligne juste avant le RETURN.
Ceci me permet de récupérer différents codes couleurs plusieurs fois de suite dans le presse papier, sans fermer ton programme.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
JL35



Nombre de messages : 5920
Localisation : 77
Date d'inscription : 29/11/2007

MessageSujet: Re: Palette de couleurs   Sam 18 Fév 2017 - 15:20

Ma foi, si ça peut être un tant soit peu utile, adapté à son propre usage, tant mieux, j'en suis content ! Very Happy
Et Marc ton idée est bonne finalement, ça ne coûte rien et ça peut être utile.
(j'ai bien dit 350 pour le PLM... d'ici là, je serai loin)
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
mindstorm

avatar

Nombre de messages : 530
Age : 48
Localisation : charente
Date d'inscription : 13/02/2013

MessageSujet: Re: Palette de couleurs   Dim 19 Fév 2017 - 0:37

bonjour a tous
par un travail collectif nous avions fait cette petite palette aux mille couleurs!
La première ouverture est un peut longue mais ensuite un fichier image est créé qui viens fluidifier le tout
cette version est adapté a mes besoins et il permet de générer un fichier image que j'utilise pour colorer un objet 3D.
Si vous voulez essayer il suffit, une fois la couleur choisie de cocher et décocher une des cases pour sauvegarder la teinte.
Il y a quatre cases donc quatre sauvegardes.
ensuite "validation" finalise la procédure.
il reste a récupérer le fichier image.
n'hésitez pas a modifier tout cela !
Code:
' palette de couleur collective

label pick ,laquage
dim d,a$,r,g,b,ct,h$,i,v,rt,vt,bt,rtt,vtt,btt,y
dim cpt% : cpt%=1530
dim rbi,gbi,bbi,rpl,gpl,bpl,rbo,gbo,bbo,rpa,gpa,bpa,rdt,gdt,bdt
init()
timer 99:timer_interval 99,10:on_timer 99,pick
end

laquage:

2d_target_is 114
2d_fill_solid
2d_clear
2d_pen_width 1
2d_pen_color 250,250,250
2d_fill_color rbi,gbi,bbi
2d_rectangle 0,0,190,160
2d_fill_color rbo,gbo,bbo
2d_rectangle 0,160,190,315
2d_fill_color rpa,gpa,bpa
2d_rectangle 190,0,310,315
2d_fill_color rpl,gpl,bpl
2d_rectangle 310,0,368,315
file_save 114,"bi-mat.bmp"
return

' Tracé des cases
pick:
timer_off 99
r = color_pixel_red(1,mouse_x_position(1),mouse_y_position(1))
g = color_pixel_green(1,mouse_x_position(1),mouse_y_position(1))
b = color_pixel_blue(1,mouse_x_position(1),mouse_y_position(1))
h$ = right$("0"+hex$(r),2)+right$("0"+hex$(g),2)+right$("0"+hex$(b),2)
ct=65536*r+256*g+b
a$ = "R= "+right$("  "+str$(r),3)+chr$(10)+"G= "+right$("  "+str$(g),3)+chr$(10)+"B= "+right$("  "+str$(b),3)
a$=a$+chr$(10)+h$+chr$(10)+str$(ct)
caption 4,a$
color 2,r,g,b
if clicked (1)=1
  2d_target_is 8
  r=r:v=g:b=b:rt=r:vt=v:bt=b:rtt=0:vtt=0:btt=0
    for y=0 to 126
      rtt=rtt+(r/127) : vtt=vtt+(v/127): btt=btt+(b/127)
      2d_pen_color int(rtt),int(vtt),int(btt):2d_pen_width 15 :2d_line 10,y,10,y
    next y
  r=r:v=g:b=b:rt=r:vt=v:bt=b:rtt=r:vtt=g:btt=b
    for y=0 to 126
      rtt=rtt+((255-r)/127) : vtt=vtt+((255-v)/127): btt=btt+((255-b)/127)
      2d_pen_color int(rtt),int(vtt),int(btt):2d_pen_width 15 :2d_line 30,y,30,y
    next y
end_if

if clicked(8)=1
  r = color_pixel_red(8,mouse_x_position(8),mouse_y_position(8))
  g = color_pixel_green(8,mouse_x_position(8),mouse_y_position(8))
  b = color_pixel_blue(8,mouse_x_position(8),mouse_y_position(8))
  h$ = right$("0"+hex$(r),2)+right$("0"+hex$(g),2)+right$("0"+hex$(b),2)
  ct=65536*r+256*g+b
  a$ = "R= "+right$("  "+str$(r),3)+chr$(10)+"G= "+right$("  "+str$(g),3)+chr$(10)+"B= "+right$("  "+str$(b),3)
  a$=a$+chr$(10)+h$+chr$(10)+str$(ct)
  caption 4,a$
  2d_target_is 3
  color 3,r,g,b  :rdt=r:gdt=g:bdt=b
  caption 7,caption$(4)
end_if

if checked (9)=1
  rbi=rdt:gbi=gdt:bbi=bdt
  color 109,rbi,gbi,bbi
end_if

if checked (10)=1
  rpl=rdt:gpl=gdt:bpl=bdt
  color 110,rpl,gpl,bpl
end_if
if checked (11)=1
  rbo=rdt:gbo=gdt:bbo=bdt
  color 111,rbo,gbo,bbo
end_if
if checked (12)=1
  rpa=rdt:gpa=gdt:bpa=bdt
  color 112,rpa,gpa,bpa
end_if
timer_on 99
return



sub init()
width 0,550 : height 0,170: border_small 0: caption 0,"    -  PALETTE  -"
picture 1 : width 1,170 : height 1,128
picture 2 : top 2,20: left 2,175 : width 2,60 : height 2,50
picture 8:left 8,left (2)+width (2)+4: width 8,40:height 8,128
picture 3 : top 3,20: left 3,left(8)+width(8)+4 : width 3,width(2) : height 3,height(2)
picture 109 : top 109,10: left 109,450 : width 109,40 : height 109,15
picture 110 : top 110,30: left 110,450 : width 110,40 : height 110,15
picture 111 : top 111,50: left 111,450 : width 111,40 : height 111,15
picture 112 : top 112,70: left 112,450 : width 112,40 : height 112,15
picture 114 : width 114,358 : height 114,309:top 114,150:left 114,10

alpha 4: top 4,top(2)+height(2)+3: left 4,left(2): font_name 4,"Lucida Console"
alpha 5 : left 5,left(2)+10 : top 5,5 : caption 5,"Survol": font_bold 5
alpha 6 : left 6,left(8)+width (8)+15 : top 6,5 : caption 6,"Choix": font_bold 6
alpha 7: top 7,top(4): left 7,left(3): font_name 7,"Lucida Console"
check 9:top 9,10:left 9, 350:width 9,70:caption 9,"bi-mat"
check 10:top 10,30:left 10, 350:width 10,70:caption 10,"parclose"
check 11:top 11,50:left 11, 350:width 11,70:caption 11,"planche"
check 12:top 12,70:left 12, 350:width 12,70:caption 12,"obturateur"
button 113:top 113,100:left 113,430:caption 113,"validation":on_click 113,laquage
2d_target_is 1
' recuperaton de la palette
if file_exists ("C:\temp\palette.bmp")=1
  file_load 1,"C:\temp\palette.bmp"

else
trace(255,0,0,0,0,1,0)
trace(255,255,0,255,(-1),0,0)
trace(0,255,0,510,0,0,1)
trace(0,255,255,765,0,(-1),0)
trace(0,0,255,1020,1,0,0)
trace(255,0,255,1275,0,0,(-1))
end_if
' show 0
end_sub

' Tracé de la palette

sub trace(n_r,n_v,n_b,n_i,cal_r,cal_v,cal_b)
r=n_r:v=n_v:b=n_b
 for i=n_i to (n_i+254)
    r=r+(cal_r):v=v+(cal_v):b=b+(cal_b):y=0 :rt=r:vt=v:bt=b:rtt=rt:vtt=vt:btt=bt
    for y=0 to 127
      2d_pen_color int(rt),int(vt),int(bt):2d_pen_width 5  :2d_line 5+(i/10),y,5+(i/10),y
      rt=rt+((127-rtt)/127) : vt=vt+((127-vtt)/127): bt=bt+((127-btt)/127)
    next y
    display
    cpt%=cpt%-1 : caption 0,str$(cpt%)
 next i
 file_save 1,"C:\temp\palette.bmp"
Caption 0,"PALETTE stocker"

end_sub
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
jjn4

avatar

Nombre de messages : 1594
Date d'inscription : 13/09/2009

MessageSujet: +++   Lun 20 Fév 2017 - 17:51

Très joli, toutes ces réalisations !
Voilà des Rembrandt en perspective !
king alien Laughing
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://jjn4.e-monsite.com
Contenu sponsorisé




MessageSujet: Re: Palette de couleurs   

Revenir en haut Aller en bas
 
Palette de couleurs
Voir le sujet précédent Voir le sujet suivant Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» palette de couleurs
» Personnaliser la palette de couleurs de l’éditeur
» Palette de couleurs
» [Editeur ] Palette de couleurs
» [Résolu] Palette des couleurs réservée aux admis

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC :: PANORAMIC 32 bits :: Vos sources, vos utilitaires à partager-
Sauter vers: