FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC

Développement d'applications avec le langage Panoramic
 
AccueilAccueil  RechercherRechercher  Dernières imagesDernières images  S'enregistrerS'enregistrer  MembresMembres  Connexion  
Derniers sujets
» Logiciel de planétarium.
Outils couleurs - Page 2 Emptypar Pedro Sam 23 Nov 2024 - 15:50

» Un autre pense-bête...
Outils couleurs - Page 2 Emptypar Froggy One Jeu 21 Nov 2024 - 15:54

» Récupération du contenu d'une page html.
Outils couleurs - Page 2 Emptypar Pedro Sam 16 Nov 2024 - 14:04

» Décompilation
Outils couleurs - Page 2 Emptypar JL35 Mar 12 Nov 2024 - 19:57

» Un album photos comme du temps des grands-mères
Outils couleurs - Page 2 Emptypar jjn4 Mar 12 Nov 2024 - 17:23

» traitement d'une feuille excel
Outils couleurs - Page 2 Emptypar jjn4 Jeu 7 Nov 2024 - 3:52

» Aide-mémoire mensuel
Outils couleurs - Page 2 Emptypar jjn4 Lun 4 Nov 2024 - 18:56

» Des incomprèhension avec Timer
Outils couleurs - Page 2 Emptypar Klaus Mer 30 Oct 2024 - 18:26

» KGF_dll - nouvelles versions
Outils couleurs - Page 2 Emptypar Klaus Mar 29 Oct 2024 - 17:58

» instructions panoramic
Outils couleurs - Page 2 Emptypar maelilou Lun 28 Oct 2024 - 19:51

» Figures fractales
Outils couleurs - Page 2 Emptypar Marc Ven 25 Oct 2024 - 12:18

» Panoramic et Scanette
Outils couleurs - Page 2 Emptypar Yannick Mer 25 Sep 2024 - 22:16

» Editeur d étiquette avec QR évolutif
Outils couleurs - Page 2 Emptypar JL35 Lun 23 Sep 2024 - 22:40

» BUG QR Code DelphiZXingQRCode
Outils couleurs - Page 2 Emptypar Yannick Dim 22 Sep 2024 - 11:40

» fichier.exe
Outils couleurs - Page 2 Emptypar leclode Ven 20 Sep 2024 - 19:02

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Novembre 2024
LunMarMerJeuVenSamDim
    123
45678910
11121314151617
18192021222324
252627282930 
CalendrierCalendrier
Le Deal du moment : -28%
-28% Machine à café avec broyeur ...
Voir le deal
229.99 €

 

 Outils couleurs

Aller en bas 
+3
Jean Claude
silverman
Yannick
7 participants
Aller à la page : Précédent  1, 2, 3, 4  Suivant
AuteurMessage
papydall

papydall


Nombre de messages : 7017
Age : 74
Localisation : Moknine (Tunisie) Entre la chaise et le clavier
Date d'inscription : 03/03/2012

Outils couleurs - Page 2 Empty
MessageSujet: Re: Outils couleurs   Outils couleurs - Page 2 EmptySam 20 Mai 2017 - 18:16

Smile
Revenir en haut Aller en bas
http://papydall-panoramic.forumarabia.com/
Jean Claude

Jean Claude


Nombre de messages : 5950
Age : 70
Localisation : 83 Var
Date d'inscription : 07/05/2009

Outils couleurs - Page 2 Empty
MessageSujet: Re: Outils couleurs   Outils couleurs - Page 2 EmptySam 20 Mai 2017 - 19:01

Toujours aussi impitoyable ! Notre Papydall Very Happy

Mais bon, on doit faire avec notre nouvel œil de lynx. Very Happy

ATTENTION: Maintenant il a deux yeux. On va devoir être vigilants.

lol!

Revenir en haut Aller en bas
Yannick




Nombre de messages : 8635
Age : 53
Localisation : Bretagne
Date d'inscription : 15/02/2010

Outils couleurs - Page 2 Empty
MessageSujet: re   Outils couleurs - Page 2 EmptySam 20 Mai 2017 - 19:59

Bon, pour en revenir à nos moutons ( oui chez moi c' est la ferme Laughing ).

Outils couleurs - Page 2 Captur92

Voilà l' outils intégré dans mon futur éditeur "Tout Panoramic" que j' ai nommé Basic Editor.
Ouais, je sais mais je commence à être à cours de nom (PPE, PANEDIT, Simple Editor,....).
Bref, en cliquant sur le bouton avec le petit crayon, la couleur sera insérée dans le code du source
actif à l' emplacement du caret dans le format choisi (RGB,HTML,KGF).
Le résultat est, en attendant que Jack nous permette d' insérer du texte par programme dans objet SYNEDIT,
dans la fenêtre de message. D' où mes suggestions il y a quelques jours...

Voilà, ce sera tout pour le moment...
Laughing
Revenir en haut Aller en bas
Jean Claude

Jean Claude


Nombre de messages : 5950
Age : 70
Localisation : 83 Var
Date d'inscription : 07/05/2009

Outils couleurs - Page 2 Empty
MessageSujet: Re: Outils couleurs   Outils couleurs - Page 2 EmptySam 20 Mai 2017 - 20:56

Citation :
en attendant que Jack nous permette d' insérer du texte par programme dans objet SYNEDIT,

c'est indispensable !

Pour les noms d'éditeur: SimpleEditor, c’était bien ! j'espère que tu restes sur la même optique (la simplicité).

A+
Revenir en haut Aller en bas
Yannick




Nombre de messages : 8635
Age : 53
Localisation : Bretagne
Date d'inscription : 15/02/2010

Outils couleurs - Page 2 Empty
MessageSujet: re   Outils couleurs - Page 2 EmptySam 20 Mai 2017 - 21:03

@ Jean Claude,

PPE étaient au départ basé sur une orientation Projet et à ses tout début sur un RichEdit avec un algorithme maison
pour la reconnaissance syntaxique.
PANEDIT un embryon de...il n' a pas survécu... Laughing
SimpleEditor Est avec une énorme partie de KGF.dll

La Basic Editor est prévu pour être en tout Panoramic.
J' espère seulement que son évolution ne sera pas trop lente.
Laughing
Revenir en haut Aller en bas
Minibug

Minibug


Nombre de messages : 4570
Age : 58
Localisation : Vienne (86)
Date d'inscription : 09/02/2012

Outils couleurs - Page 2 Empty
MessageSujet: Re: Outils couleurs   Outils couleurs - Page 2 EmptySam 20 Mai 2017 - 21:56

Bien bien bien Yannick ! Je vois que tout cela se met en place progressivement...

PS :
Content de te retrouver parmi nous Papydall. C'est vrai qu'on commençait à s’inquiéter.
Bonne lecture sur le forum avec tes 'nouveaux yeux'. Laughing Laughing Laughing
Revenir en haut Aller en bas
http://gpp.panoramic.free.fr
papydall

papydall


Nombre de messages : 7017
Age : 74
Localisation : Moknine (Tunisie) Entre la chaise et le clavier
Date d'inscription : 03/03/2012

Outils couleurs - Page 2 Empty
MessageSujet: Re: Outils couleurs   Outils couleurs - Page 2 EmptyDim 21 Mai 2017 - 1:01

Merci tout le monde.
Revenir en haut Aller en bas
http://papydall-panoramic.forumarabia.com/
Yannick




Nombre de messages : 8635
Age : 53
Localisation : Bretagne
Date d'inscription : 15/02/2010

Outils couleurs - Page 2 Empty
MessageSujet: re   Outils couleurs - Page 2 EmptyDim 21 Mai 2017 - 3:29

J' ai voulu ajouté une barre de luminosité mais je crois que j' ai un souci dans les conversions... Embarassed

Voilà le source :
Code source:

Si un pro des couleurs veut y jeter un oeil...
Revenir en haut Aller en bas
silverman

silverman


Nombre de messages : 970
Age : 52
Localisation : Picardie
Date d'inscription : 18/03/2015

Outils couleurs - Page 2 Empty
MessageSujet: Re: Outils couleurs   Outils couleurs - Page 2 EmptyDim 21 Mai 2017 - 11:28

Pour ma palette, j'ai utilisé un convertisseur pour déboguer mon algorithme, je rentrais des valeurs et je regardais si mon calcul donnait la même chose. Mon pb venait des mod(), il fallait que je mette un int() devant! C'est peut être pareil pour toi...
Je n'utilise pas la même palette que toi, je ne peux donc pas vraiment t'aider, mais j'ai trouvé ton algorithme ici:
LIEN
Il y a un convertisseur tout en bas, sert t'en pour déboguer Smile
Revenir en haut Aller en bas
Yannick




Nombre de messages : 8635
Age : 53
Localisation : Bretagne
Date d'inscription : 15/02/2010

Outils couleurs - Page 2 Empty
MessageSujet: re   Outils couleurs - Page 2 EmptyDim 21 Mai 2017 - 14:38

@ Silverman,

C' est de cette page que je suis parti pour mes conversions.
Le truc, c' est que je ne suis pas allé jusqu' en bas de la page et je n' avais pas vu le convertisseur. Embarassed

Quand tu dis mettre un in() devant les mod() est ce que tu entends ceci : int(mod()) ?
scratch
Revenir en haut Aller en bas
Marc

Marc


Nombre de messages : 2466
Age : 63
Localisation : TOURS (37)
Date d'inscription : 17/03/2014

Outils couleurs - Page 2 Empty
MessageSujet: Re: Outils couleurs   Outils couleurs - Page 2 EmptyDim 21 Mai 2017 - 15:00

Bonjour à tous !

@Yanninck :
Je viens de tester ton programme.
Merci de ton partage. cheers

Avant d’aller plus loin, je voulais te dire que j’ai un problème de rafraîchissement de la couleur lors du survol de la palette avec la souris : le temps de calcul est trop long pour le PC que j’utilise actuellement :
Outils couleurs - Page 2 Pc10

Parfois, la couleur affichée ne correspond pas à celle sous la souris Crying or Very sad
Si je mets en REM la ligne 218 : ColorPictTSVpalette(R%,G%,B%), plus de problème, tout va bien, mais, plus de barre de luminosité !
Pardonne-moi de ces remarques, je ne souhaite pas te décourager dans ton entreprise.
Revenir en haut Aller en bas
Minibug

Minibug


Nombre de messages : 4570
Age : 58
Localisation : Vienne (86)
Date d'inscription : 09/02/2012

Outils couleurs - Page 2 Empty
MessageSujet: Re: Outils couleurs   Outils couleurs - Page 2 EmptyDim 21 Mai 2017 - 15:36

Bonjour Marc37

Citation :
le temps de calcul est trop long pour le PC que j’utilise actuellement

Oui, moi aussi j'ai remarqué le problème et effectivement c'est apparu depuis la dernière version avec la barre de luminosité.
Revenir en haut Aller en bas
http://gpp.panoramic.free.fr
Marc

Marc


Nombre de messages : 2466
Age : 63
Localisation : TOURS (37)
Date d'inscription : 17/03/2014

Outils couleurs - Page 2 Empty
MessageSujet: Re: Outils couleurs   Outils couleurs - Page 2 EmptyDim 21 Mai 2017 - 15:50

Salut Laurent !

@yannick :

Aie !
Lorsque tu as R=242, V=251, B=4, on obtient :

T = -1466,66 au lieu de 60
S  = 3,58 au lieu de 97

Bref, une erreur dans la sub RGBtoTSL.

Je vais voir ça un peu plus tard.
Outils couleurs - Page 2 Y110
Revenir en haut Aller en bas
Yannick




Nombre de messages : 8635
Age : 53
Localisation : Bretagne
Date d'inscription : 15/02/2010

Outils couleurs - Page 2 Empty
MessageSujet: RE   Outils couleurs - Page 2 EmptyDim 21 Mai 2017 - 16:14

Mouep, visiblement y a un truc que j' ai pas pigé.

Est ce que mod() est le même que le Mod() de panoramic 
Est ce que |1,2| veut bien dire entre 1 et 2

Je ne suis pas trop sûr, le résultat est approchant mais pas exact donc faux.
Ils sont beau ces scientifiques avec leurs hiéroglyphes... Mad 

J' aurai du mettre ce morceau dans la rubrique "SOS" mais bon je voulais que cela reste
sur ce sujet pour ne pas trop me disperser sur le forum.

Désolé... Sad
Revenir en haut Aller en bas
Marc

Marc


Nombre de messages : 2466
Age : 63
Localisation : TOURS (37)
Date d'inscription : 17/03/2014

Outils couleurs - Page 2 Empty
MessageSujet: Re: Outils couleurs   Outils couleurs - Page 2 EmptyDim 21 Mai 2017 - 16:23

@Yannick :

ligne 366 :   if Mn1% = R% : Mn% = Max(R%,B%) : else : Mn% = Max(V%,B%) : end_if

Ne serait-ce pas plutôt :

ligne 366 :   if Mn1% = R% : Mn% = Min(R%,B%) : else : Mn% = Min(V%,B%) : end_if

? ?
Revenir en haut Aller en bas
Marc

Marc


Nombre de messages : 2466
Age : 63
Localisation : TOURS (37)
Date d'inscription : 17/03/2014

Outils couleurs - Page 2 Empty
MessageSujet: Re: Outils couleurs   Outils couleurs - Page 2 EmptyDim 21 Mai 2017 - 16:34

Je viens de faire l'essais :

Suite à ma correction ci-dessus, ligne 366, la valeur Mn% est maintenant correcte.
Elle reprend bien la valeur minimum de R,V et B.

Du coup la variable locale c% est bonne.

A suivre... il reste un bug plus loin...


Dernière édition par Marc37 le Dim 21 Mai 2017 - 16:36, édité 1 fois
Revenir en haut Aller en bas
Yannick




Nombre de messages : 8635
Age : 53
Localisation : Bretagne
Date d'inscription : 15/02/2010

Outils couleurs - Page 2 Empty
MessageSujet: re   Outils couleurs - Page 2 EmptyDim 21 Mai 2017 - 16:35

@ Marc 37,

SI JE LE POUVAIS, JE T EMBRASSERAI !!!!

Je crois que tu viens de mettre le doigt dessus.
Embarassed Embarassed Embarassed Le copier/coller, encore lui.
Revenir en haut Aller en bas
Yannick




Nombre de messages : 8635
Age : 53
Localisation : Bretagne
Date d'inscription : 15/02/2010

Outils couleurs - Page 2 Empty
MessageSujet: re   Outils couleurs - Page 2 EmptyDim 21 Mai 2017 - 16:45

Avec ce code là, c' est pas parfait mais cela va mieux :

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%
dim PictTSVpalette%    : no%=no%+1 : PictTSVpalette%=no%

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 PictTSVpalette%
      parent PictTSVpalette%,ContPalette%
      height PictTSVpalette%,128
      width PictTSVpalette%,15
      top PictTSVpalette%,top(PictPalette%)
      left PictTSVpalette%,left(PictPalette%)+width(PictPalette%)+5
      ColorPictTSVpalette(0,0,0)
        
      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%)
      create_show
      top FenPaletteCouleur%,(screen_y-height(FenPaletteCouleur%))/2
      left FenPaletteCouleur%,(screen_x-width(FenPaletteCouleur%))/2
      show_all  
   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%))
  ColorPictTSVpalette(R%,G%,B%)
      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))
   ColorPictTSVpalette(R%,G%,B%)
   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))
  ColorPictTSVpalette(R%,G%,B%)
      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

sub ColorPictTSVpalette(R1%,V1%,B1%)
   dim_local i%,T,S,L,R%,V%,B%,x%

   R%=R1% : V%=V1% : B%=B1%  
   RGBtoTSL(R%,V%,B%)
   T=TSL_T : S=TSL_S
   cls
   2d_target_is PictTSVpalette%
   for i%=1 to 127
      TSLtoRGB(T,S,i%)      
  if RGB_R%>-1 and RGB_G%>-1 and RGB_B%>-1
     if RGB_R%<256 and RGB_G%<256 and RGB_B%<256
               2d_pen_color RGB_R%,RGB_G%,RGB_B%
               2d_line 1,i%,15,i%
             end_if
  end_if
   next i%

end_sub

sub RGBtoTSL(R%,V%,B%)
   dim_local i%,Mx%,Mx1%,Mn%,Mn1%,C%
  
   if variable("TSL_T")=0 then dim TSL_T
   if variable("TSL_S")=0 then dim TSL_S
   if variable("TSL_L")=0 then dim TSL_L
  
   Mx1% = Max(R%,V%)
   if Mx1% = R% : Mx% = Max(R%,B%) : else : Mx% = Max(V%,B%) : end_if
   Mn1% = Min(R%,V%)
   if Mn1% = R% : Mn% = Min(R%,B%) : else : Mn% = Min(V%,B%) : end_if
   C% = Mx%-Mn%  
   if Mx% = R%
      if C%>0 : TSL_T = 60*mod(int(((V%-B%)/C%)),6) : else : TSL_T = 60*mod((V%-B%),6) : end_if
   else
      if Mx% = V%
         if C%>0 : TSL_T = 60*(((B%-R%)/C%)+2) : else : TSL_T = 60*((B%-R%)+2) : end_if
      else
         if C%>0 : TSL_T = 60*(((R%-V%)/C%)+4) : else : TSL_T = 60*((R%-V%)+4)  : end_if
      end_if
   end_if  
   if C%>0  : TSL_S = 100*(C%/Mx%) : else : TSL_S = 0 : end_if
   if Mx%>0 : TSL_L = 100*(Mx%/255): else : TSL_L = 0 : end_if
end_sub

sub TSLtoRGB(T,S,L)
    dim_local i,Mx,Mm,C,X

   if variable("RGB_R%")=0 then dim RGB_R%
   if variable("RGB_G%")=0 then dim RGB_G%
   if variable("RGB_B%")=0 then dim RGB_B%
 
 Mx = L*255/100
 Mm = (100-S)*L*(255/10000)
 C = Mx-Mm
 i = T/60
 X = C*mod(i,2)  
 if i<1
   RGB_R% = int(C+Mm)
   RGB_G% = int(X+Mm)
   RGB_B% = int(Mm)
 else
   if i>0.99 and i<2
      RGB_R% = int(X+Mm)
      RGB_G% = int(C+Mm)
      RGB_B% = int(Mm)  
       else
      if i>1.99 and i<3
         RGB_R% = int(Mm)
         RGB_G% = int(C+Mm)
         RGB_B% = int(X+Mm)  
  else
     if i>2.99 and i<4
            RGB_R% = int(Mm)
            RGB_G% = int(X+Mm)
            RGB_B% = int(C+Mm)
 else
    if i>3.99 and i<5
               RGB_R% = int(X+Mm)
               RGB_G% = int(Mm)
               RGB_B% = int(C+Mm)
 else
               RGB_R% = int(C+Mm)
               RGB_G% = int(Mm)
               RGB_B% = int(X+Mm)
 end_if
 end_if
  end_if
       end_if  
 end_if
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"

Laughing


Dernière édition par Yannick le Dim 21 Mai 2017 - 17:34, édité 1 fois
Revenir en haut Aller en bas
Marc

Marc


Nombre de messages : 2466
Age : 63
Localisation : TOURS (37)
Date d'inscription : 17/03/2014

Outils couleurs - Page 2 Empty
MessageSujet: Re: Outils couleurs   Outils couleurs - Page 2 EmptyDim 21 Mai 2017 - 16:58

@Yannick

La TSVpalette fait 128 de haut.

Or, les valeurs à afficher vont de 0 à 100 => L = 0 à 100% de luminosité.

Je lis aussi que tu fais une boucle d'affichage (ligne 345) de 1 à 127...
Il y a donc 27 pas en trop. 100 est le maxi.

Je ne sais pas si je suis bien clair dans mon explication... Embarassed
Revenir en haut Aller en bas
Yannick




Nombre de messages : 8635
Age : 53
Localisation : Bretagne
Date d'inscription : 15/02/2010

Outils couleurs - Page 2 Empty
MessageSujet: re   Outils couleurs - Page 2 EmptyDim 21 Mai 2017 - 17:02

Si Si tu es très clair L est en % donc 0 à 100 et la boucle va de 1 à 127.

Je suis en train de corriger.
la bande de luminosité sera seulement sur les clics de sélection cela diminuera les pbs de mise à jour
de cette barre dus à la vitesse.

Merci Marc 37
Revenir en haut Aller en bas
Marc

Marc


Nombre de messages : 2466
Age : 63
Localisation : TOURS (37)
Date d'inscription : 17/03/2014

Outils couleurs - Page 2 Empty
MessageSujet: Re: Outils couleurs   Outils couleurs - Page 2 EmptyDim 21 Mai 2017 - 17:28

Avant que Oeil_de_Lynx ne le voit ( Bonjour Papydall !  Very Happy )

Ligne 198
message "Valeur incorrecte !"+chr$(13)+"Valeur de 0 à 255"
Revenir en haut Aller en bas
Yannick




Nombre de messages : 8635
Age : 53
Localisation : Bretagne
Date d'inscription : 15/02/2010

Outils couleurs - Page 2 Empty
MessageSujet: RE   Outils couleurs - Page 2 EmptyDim 21 Mai 2017 - 17:31

Oupss... je vais corriger tout de suite!
lol!
C' est fait il a rien vu...  Shocked
lol!
Revenir en haut Aller en bas
Marc

Marc


Nombre de messages : 2466
Age : 63
Localisation : TOURS (37)
Date d'inscription : 17/03/2014

Outils couleurs - Page 2 Empty
MessageSujet: Re: Outils couleurs   Outils couleurs - Page 2 EmptyDim 21 Mai 2017 - 17:44

Euh.... Sabotage ! ?  Smile

Ligne 370
    if C%>0 : TSL_T = 60*mod(int(((V%-B%)/C%)),6) : else : TSL_T = 60*mod((V%-B%),6) : end_if

Ne pas mettre de INT !  Mad

Correction :
if C%>0 : TSL_T = 60*mod(((V%-B%)/C%),6) : else : TSL_T = 60*mod((V%-B%),6) : end_if
Revenir en haut Aller en bas
Yannick




Nombre de messages : 8635
Age : 53
Localisation : Bretagne
Date d'inscription : 15/02/2010

Outils couleurs - Page 2 Empty
MessageSujet: re   Outils couleurs - Page 2 EmptyDim 21 Mai 2017 - 17:51

Bien vu Marc 37 !

Un résidu d' essai... Mad

Voilà le code modifié
L' affichage de la barre se fait sur les clics ( Couleurs windows, Couleurs personnalisées et palette )
certaines couleurs n' affichent rien, d' autres des résultats bizarres  Suspect

voilà le source :
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%
dim PictTSVpalette%    : no%=no%+1 : PictTSVpalette%=no%

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 PictTSVpalette%
      parent PictTSVpalette%,ContPalette%
      height PictTSVpalette%,128
      width PictTSVpalette%,15
      top PictTSVpalette%,top(PictPalette%)
      left PictTSVpalette%,left(PictPalette%)+width(PictPalette%)+5
      ColorPictTSVpalette(0,0,0)
        
      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%)
      create_show
      top FenPaletteCouleur%,(screen_y-height(FenPaletteCouleur%))/2
      left FenPaletteCouleur%,(screen_x-width(FenPaletteCouleur%))/2
      show_all  
   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%
         ColorPictTSVpalette(R%,G%,B%)
         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))
   ColorPictTSVpalette(R%,G%,B%)
   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))
      ColorPictTSVpalette(R%,G%,B%)
      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

sub ColorPictTSVpalette(R1%,V1%,B1%)
   dim_local i%,T,S,L,R%,V%,B%,x%

   R%=R1% : V%=V1% : B%=B1%  
   RGBtoTSL(R%,V%,B%)
   T=TSL_T : S=TSL_S
   cls
   2d_target_is PictTSVpalette%
   for i%=1 to 127
      if i%>100
         L=100
      else
         L=i%
      end_if
      TSLtoRGB(T,S,L)      
  if RGB_R%>-1 and RGB_G%>-1 and RGB_B%>-1
     if RGB_R%<256 and RGB_G%<256 and RGB_B%<256
               2d_pen_color RGB_R%,RGB_G%,RGB_B%
               2d_line 1,i%,15,i%
             end_if
  end_if
   next i%

end_sub

sub RGBtoTSL(R%,V%,B%)
   dim_local i%,Mx%,Mx1%,Mn%,Mn1%,C%,t$,x%
  
   if variable("TSL_T")=0 then dim TSL_T
   if variable("TSL_S")=0 then dim TSL_S
   if variable("TSL_L")=0 then dim TSL_L
  
   Mx1% = Max(R%,V%)
   if Mx1% = R% : Mx% = Max(R%,B%) : else : Mx% = Max(V%,B%) : end_if
   Mn1% = Min(R%,V%)
   if Mn1% = R% : Mn% = Min(R%,B%) : else : Mn% = Min(V%,B%) : end_if
   C% = Mx%-Mn%  
   if Mx% = R%
      if C%>0 : TSL_T = 60*mod(((V%-B%)/C%),6) : else : TSL_T = 60*mod((V%-B%),6) : end_if
   else
      if Mx% = V%
         if C%>0 : TSL_T = 60*(((B%-R%)/C%)+2) : else : TSL_T = 60*((B%-R%)+2) : end_if
      else
         if C%>0 : TSL_T = 60*(((R%-V%)/C%)+4) : else : TSL_T = 60*((R%-V%)+4)  : end_if
      end_if
   end_if
  
   if C%>0  : TSL_S = 100*(C%/Mx%) : else : TSL_S = 0 : end_if
   t$=str$(frac(TSL_S))+"00"
   t$=left$(t$,2)
   if val(t$)>50
      TSL_S=int(TSL_S)+1 : else : TSL_S=int(TSL_S)
   end_if
      
   if Mx%>0 : TSL_L = 100*(Mx%/255): else : TSL_L = 0 : end_if
   t$=str$(frac(TSL_L))+"00"
   t$=left$(t$,2)
   if val(t$)>50
      TSL_L=int(TSL_L)+1 : else : TSL_L=int(TSL_L)
   end_if  
  
  
end_sub

sub TSLtoRGB(T,S,L)
    dim_local i,Mx,Mm,C,X

   if variable("RGB_R%")=0 then dim RGB_R%
   if variable("RGB_G%")=0 then dim RGB_G%
   if variable("RGB_B%")=0 then dim RGB_B%
 
   Mx = L*255/100
   Mm = (100-S)*L*(255/10000)
   C = Mx-Mm
   i = T/60
   X = C*mod(i,2)  
   if i<1
      RGB_R% = int(C+Mm)
      RGB_G% = int(X+Mm)
      RGB_B% = int(Mm)
   else
      if i>0.99 and i<2
         RGB_R% = int(X+Mm)
         RGB_G% = int(C+Mm)
         RGB_B% = int(Mm)  
      else
         if i>1.99 and i<3
            RGB_R% = int(Mm)
            RGB_G% = int(C+Mm)
            RGB_B% = int(X+Mm)  
         else
            if i>2.99 and i<4
               RGB_R% = int(Mm)
               RGB_G% = int(X+Mm)
               RGB_B% = int(C+Mm)
            else
               if i>3.99 and i<5
                  RGB_R% = int(X+Mm)
                  RGB_G% = int(Mm)
                  RGB_B% = int(C+Mm)
               else
                  RGB_R% = int(C+Mm)
                  RGB_G% = int(Mm)
                  RGB_B% = int(X+Mm)
               end_if
            end_if
         end_if
      end_if  
   end_if
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"

exemple de bizarrerie :

Outils couleurs - Page 2 Captur93
Revenir en haut Aller en bas
Marc

Marc


Nombre de messages : 2466
Age : 63
Localisation : TOURS (37)
Date d'inscription : 17/03/2014

Outils couleurs - Page 2 Empty
MessageSujet: Re: Outils couleurs   Outils couleurs - Page 2 EmptyDim 21 Mai 2017 - 18:01

As-tu le fichier palette.bmp STP ?
Je ne l'ai pas trouvé sur ton Webdav.

Je n'ai qu'une version JPG que j'ai converti en BMP, d'où un manque de précision et l’impossibilité d'obtenir les valeurs extrêmes.

En attendant, je teste ta dernière version.
Revenir en haut Aller en bas
Contenu sponsorisé





Outils couleurs - Page 2 Empty
MessageSujet: Re: Outils couleurs   Outils couleurs - Page 2 Empty

Revenir en haut Aller en bas
 
Outils couleurs
Revenir en haut 
Page 2 sur 4Aller à la page : Précédent  1, 2, 3, 4  Suivant
 Sujets similaires
-
» Outils couleurs avec pipette
» Outils du Panneau de configuration
» Des outils à enrichir …
» Outils Windows
» Boîte à outils de dessin

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: