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
» I Love You
par papydall Aujourd'hui à 1:15

» mise a jour calculatrice
par joeeee2017 Aujourd'hui à 1:01

» Convertisseur de base 10 de 2 à 36
par gigi75 Hier à 18:49

» [solved] 3D_LINE How to ?
par papydall Hier à 6:51

» supprimé
par joeeee2017 Dim 15 Oct 2017 - 20:02

» calculatrice avec touches movibles
par joeeee2017 Dim 15 Oct 2017 - 1:11

» CORTANA
par gigi75 Sam 14 Oct 2017 - 16:32

» supprimé
par Jean Claude Sam 14 Oct 2017 - 12:30

» Compilateur FBPano
par jean_debord Jeu 12 Oct 2017 - 9:53

» KGF_dll - nouvelles versions
par Klaus Mar 10 Oct 2017 - 18:49

» à propos de Panoramic_Editor [Résolu]
par Klaus Mar 10 Oct 2017 - 3:19

» Un petit "coucou" à tous les Panoramiciens !
par Jack Ven 6 Oct 2017 - 10:24

» Pourquoi le compilateur stagne
par mindstorm Mer 4 Oct 2017 - 20:38

» Panoramic ?
par Marc37 Mer 4 Oct 2017 - 0:39

» Premiers pas avec Arduino
par Marc37 Mer 4 Oct 2017 - 0:29

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Octobre 2017
LunMarMerJeuVenSamDim
      1
2345678
9101112131415
16171819202122
23242526272829
3031     
CalendrierCalendrier

Partagez | 
 

 Palette de couleurs

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



Nombre de messages : 5952
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 : 7994
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 : 454
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 : 5952
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 : 534
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 : 1601
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
-
» Nouvelle palette de couleurs
» [inkscape] 06_utiliser la palette de couleurs
» Mettre une palette de couleurs au lieu du système de couleurs par défaut
» Comment modifier une les couleurs d une image swf ?
» Changer les couleurs et la taille des routes

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