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.
Couleur : traitement par Teinte, Saturation, Luminosité Emptypar Pedro Aujourd'hui à 10:37

» Un autre pense-bête...
Couleur : traitement par Teinte, Saturation, Luminosité Emptypar Froggy One Jeu 21 Nov 2024 - 15:54

» Récupération du contenu d'une page html.
Couleur : traitement par Teinte, Saturation, Luminosité Emptypar Pedro Sam 16 Nov 2024 - 14:04

» Décompilation
Couleur : traitement par Teinte, Saturation, Luminosité Emptypar JL35 Mar 12 Nov 2024 - 19:57

» Un album photos comme du temps des grands-mères
Couleur : traitement par Teinte, Saturation, Luminosité Emptypar jjn4 Mar 12 Nov 2024 - 17:23

» traitement d'une feuille excel
Couleur : traitement par Teinte, Saturation, Luminosité Emptypar jjn4 Jeu 7 Nov 2024 - 3:52

» Aide-mémoire mensuel
Couleur : traitement par Teinte, Saturation, Luminosité Emptypar jjn4 Lun 4 Nov 2024 - 18:56

» Des incomprèhension avec Timer
Couleur : traitement par Teinte, Saturation, Luminosité Emptypar Klaus Mer 30 Oct 2024 - 18:26

» KGF_dll - nouvelles versions
Couleur : traitement par Teinte, Saturation, Luminosité Emptypar Klaus Mar 29 Oct 2024 - 17:58

» instructions panoramic
Couleur : traitement par Teinte, Saturation, Luminosité Emptypar maelilou Lun 28 Oct 2024 - 19:51

» Figures fractales
Couleur : traitement par Teinte, Saturation, Luminosité Emptypar Marc Ven 25 Oct 2024 - 12:18

» Panoramic et Scanette
Couleur : traitement par Teinte, Saturation, Luminosité Emptypar Yannick Mer 25 Sep 2024 - 22:16

» Editeur d étiquette avec QR évolutif
Couleur : traitement par Teinte, Saturation, Luminosité Emptypar JL35 Lun 23 Sep 2024 - 22:40

» BUG QR Code DelphiZXingQRCode
Couleur : traitement par Teinte, Saturation, Luminosité Emptypar Yannick Dim 22 Sep 2024 - 11:40

» fichier.exe
Couleur : traitement par Teinte, Saturation, Luminosité 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 : -14%
Lave-linge hublot HOOVER HWP 10 kg (Induction, 1600 ...
Voir le deal
299.99 €

 

 Couleur : traitement par Teinte, Saturation, Luminosité

Aller en bas 
4 participants
Aller à la page : 1, 2  Suivant
AuteurMessage
Nardo26

Nardo26


Nombre de messages : 2294
Age : 56
Localisation : Valence
Date d'inscription : 02/07/2010

Couleur : traitement par Teinte, Saturation, Luminosité Empty
MessageSujet: Couleur : traitement par Teinte, Saturation, Luminosité   Couleur : traitement par Teinte, Saturation, Luminosité EmptyMer 26 Jan 2011 - 23:13

Bonsoir,
Pour un projet sur lequel je gamberge (utilitaire de création de feuille de style CSS avec mini langage script)
j'ai crée une petite librairie qui me permet d'obtenir les valeurs RVB d'une couleur à partir des paramètres de Teinte, de Saturation et de Luminosité.
Le but est de pouvoir crée en panoramic ceci : http://www.colorpicker.com/

Voici la librairie que j'ai appelé Color.lib

Code:
' ' =======================================================
'  Librairie gestion couleur
' =======================================================

' Procedures publiques
label TSLtoRVB
label RVBtoTSL    : ' pas encore...

label RVBtoTSV
label TSVtoRVB

' variables publiques
dim color_RVB(3), color_i
dim color_TSL(3)    : ' teinte saturation luminosite
dim color_TSV(3)

' Procedures privé️es
label CalcCompo

' variables privé️es
dim color_TSL2RVB(5) : ' tr, tv, tb, p, q
dim color_Calc_p, color_Calc_q, color_Calc_tc, color_Calc_result
dim TsvByRgbCode(3) : ' 0:rouge, 1:vert, 2:bleu, 3:maxVal, 4:minVal
dim RgbByHsv(8) : ' 0:T  1:S  2:V  3:Hi  4:f  5:p  6:q  7:t

label lib_Color : goto lib_Color

' -------------------------------------------------------
'  Conversion TSL (Teinte,Saturation,Luminosite) -> RVB
' -------------------------------------------------------
TSLtoRVB:
  ' Si la saturation est nulle, on a du gris, la teinte n'a pas d'importance
  ' on applique la valeur de luminosite de partout
  if color_TSL(1) = 0
    color_RVB(0) = color_TSL(2) * 255
    color_RVB(1) = color_RVB(0)
    color_RVB(2) = color_RVB(1)
  else
    ' Ici on a deux cas : pour L<0.5 on assombrit
    ' et pour L>0.5 on é️claircit
    if color_TSL(2) < 0.5
      color_TSL2RVB(4) = color_TSL(2) * (1 + color_TSL(1))
    else
      color_TSL2RVB(4) = color_TSL(2) + color_TSL(1) - (color_TSL(2) * color_TSL(1))
    end_if

    color_TSL2RVB(3) = 2 * color_TSL(2) - color_TSL2RVB(4)


    color_TSL2RVB(1) = color_TSL(0)/360
    color_TSL2RVB(0) = color_TSL2RVB(1) + (1/3)
    color_TSL2RVB(2) = color_TSL2RVB(1) - (1/3)
    for color_i=0 to 2
      if color_TSL2RVB(color_i) < 0 then color_TSL2RVB(color_i) = color_TSL2RVB(color_i) + 1
      if color_TSL2RVB(color_i) > 1 then color_TSL2RVB(color_i) = color_TSL2RVB(color_i) - 1
    next color_i

    color_Calc_p = color_TSL2RVB(3) : color_Calc_q = color_TSL2RVB(4) : color_Calc_tc = color_TSL2RVB(0)
    gosub CalcCompo: color_RVB(0) = int(color_Calc_result * 255)

    color_Calc_p = color_TSL2RVB(3) : color_Calc_q = color_TSL2RVB(4) : color_Calc_tc = color_TSL2RVB(1)
    gosub CalcCompo: color_RVB(1) = int(color_Calc_result * 255)

    color_Calc_p = color_TSL2RVB(3) : color_Calc_q = color_TSL2RVB(4) : color_Calc_tc = color_TSL2RVB(2)
    gosub CalcCompo: color_RVB(2) = int(color_Calc_result * 255)
  end_if
return

CalcCompo:
 if color_Calc_tc < (1/6)
  color_Calc_result = color_Calc_p + ((color_Calc_q-color_Calc_p)*6*color_Calc_tc)
 else
  if color_Calc_tc < 0.5
    color_Calc_result = color_Calc_q
  else
    if color_Calc_tc < (2/3)
      color_Calc_result = color_Calc_p + ((color_Calc_q - color_Calc_p)*6*((2/3)-color_Calc_tc))
    else
      color_Calc_result = color_Calc_p
    end_if
  end_if
 end_if
return

' -------------------------------------------------------
'  Conversion RVB -> TSL (Teinte,Saturation,Luminosite)
' -------------------------------------------------------

RVBtoTSL:
  r=color_RVB(0)/255
  v=color_RVB(1)/255
  b=color_RVB(2)/255
 
return


RVBtoTSV:
  if (color_RVB(0) + color_RVB(1) + color_RVB(2)) = 0
    color_TSV(0) = 0 : color_TSV(1) = 0 : color_TSV(2) = 0
    return
  end_if
  ' conversion composantes en float
  for color_i = 0 to 2 : TsvByRgbCode(color_i) = color_RVB(color_i) / 255 : next color_i
  ' MaxVal
  TsvByRgbCode(3) =  TsvByRgbCode(0)
  if TsvByRgbCode(1) > TsvByRgbCode(3) then TsvByRgbCode(3) = TsvByRgbCode(1)
  if TsvByRgbCode(2) > TsvByRgbCode(3) then TsvByRgbCode(3) = TsvByRgbCode(2)
  ' MinVal
  TsvByRgbCode(4) =  TsvByRgbCode(0)
  if TsvByRgbCode(1) < TsvByRgbCode(4) then TsvByRgbCode(4) = TsvByRgbCode(1)
  if TsvByRgbCode(2) < TsvByRgbCode(4) then TsvByRgbCode(4) = TsvByRgbCode(2)
  ' Calcul de la teinte
  color_TSV(0) = 0
  if TsvByRgbCode(3)=TsvByRgbCode(4)
    color_TSV(0)=0:color_TSV(1)=0
  else
    ' rouge = MaxVal ?
    if TsvByRgbCode(0) = TsvByRgbCode(3)
      color_TSV(0) = (TsvByRgbCode(1)-TsvByRgbCode(2))/(TsvByRgbCode(3)-TsvByRgbCode(4)) : ' H = (V - B) / (Max - Min)
    else
      ' vert = MaxVal ?
      if TsvByRgbCode(1) = TsvByRgbCode(3)
        color_TSV(0) = 2 + (TsvByRgbCode(2)-TsvByRgbCode(0)) / (TsvByRgbCode(3)-TsvByRgbCode(4)) : ' H = 2+ (B - R) / (Max - Min)
      else
        ' bleu = MaxVal ?
        if TsvByRgbCode(2) = TsvByRgbCode(3)
          color_TSV(0) = 4 + (TsvByRgbCode(0)-TsvByRgbCode(1)) /(TsvByRgbCode(3)-TsvByRgbCode(4)) : ' H = 4 + (R - V) / (Max - Min)
        end_if
      end_if
    end_if
    color_TSV(1) = (TsvByRgbCode(3)-TsvByRgbCode(4)) / TsvByRgbCode(3) : ' Saturation = (Max - Min) / Max
  end_if
  color_TSV(0) = color_TSV(0) * 60 : ' Teinte
  color_TSV(2) = TsvByRgbCode(3)  : ' Val
  if color_TSV(0) < 0 then color_TSV(0) = color_TSV(0) + 360
return


TSVtoRVB:
  for color_i=0 to 2: RgbByHsv(color_i) = color_TSV(color_i) : next color_i
  RgbByHsv(3) = int(RgbByHsv(0)/60)  : ' faire un floor
  if (RgbByHsv(0) = 360) then RgbByHsv(0) = 0
  RgbByHsv(4) = RgbByHsv(0)/ 60 - RgbByHsv(3)
  if (RgbByHsv(1)>1) then RgbByHsv(1) = RgbByHsv(1) / 100
  if (RgbByHsv(2)>1) then RgbByHsv(2) = RgbByHsv(2) / 100
  RgbByHsv(5) = RgbByHsv(2) * (1-RgbByHsv(1))
  RgbByHsv(6) = RgbByHsv(2) * (1-(RgbByHsv(4)*RgbByHsv(1)))
  RgbByHsv(7) = RgbByHsv(2) * (1 - ((1-RgbByHsv(4))*RgbByHsv(1)))
  ' par defaut :
  color_RVB(0)=RgbByHsv(2):color_RVB(1)=RgbByHsv(5):color_RVB(2)=RgbByHsv(6) 
  select RgbByHsv(3)
    case 0: color_RVB(0)=RgbByHsv(2):color_RVB(1)=RgbByHsv(7):color_RVB(2)=RgbByHsv(5)
    case 1: color_RVB(0)=RgbByHsv(6):color_RVB(1)=RgbByHsv(2):color_RVB(2)=RgbByHsv(5)
    case 2: color_RVB(0)=RgbByHsv(5):color_RVB(1)=RgbByHsv(2):color_RVB(2)=RgbByHsv(7)
    case 3: color_RVB(0)=RgbByHsv(5):color_RVB(1)=RgbByHsv(6):color_RVB(2)=RgbByHsv(2)
    case 4: color_RVB(0)=RgbByHsv(7):color_RVB(1)=RgbByHsv(5):color_RVB(2)=RgbByHsv(2)
  end_select
  if (RgbByHsv(1) = 0)
    color_RVB(0)=RgbByHsv(2):color_RVB(1)=color_RVB(0):color_RVB(2)=color_RVB(0)
  end_if
  for color_i=0 to 2
    color_RVB(color_i) = int(color_RVB(color_i) * 255)
    if (color_RVB(color_i) > 255) then color_RVB(color_i) = 255
  next color_i
return

lib_Color:
ainsi qu'un petit programme de démo :
Code:
hide 0
#include "Color.lib"
label start

dim teinte
dim Saturation
dim Luminosite
dim x,y,r
dim pas
dim offset_x,offset_y

pas = 4/255
offset_x = 30 : offset_y = 50 : ' positionnement du picture


width 0,(2*int(1/pas))+(5*offset_x)+20
height 0,150+int(1/pas)+offset_y

button 1 : on_click 1,start : caption 1,"Start"
2D_PEN_COLOR 0,0,0

picture 7: 2d_target_is 7: left 7,offset_x : top 7, offset_y : width 7, width(0)-(2*offset_x)
alpha 2:caption 2,"TSV:":top 2,top(7)-height(2):LEFT 2,left(7)+offset_x
alpha 3:caption 3,"TSL:":top 3,top(2):LEFT 3,left(7)+(2*offset_x)+int(1/pas)
alpha 4:caption 4,"Teinte:":top 4,top(2): left 4,left(7)+(3*offset_x)+(2*int(1/pas))
alpha 5:caption 5,"Lum.":top 5,top(7): left 5,offset_x-10
alpha 6:caption 6,"Sat.":top 6,top(7)+height(7)-5:left 6,left(4)-offset_x
show 0

2d_line 1,5,1,height(7)-1
2d_line 1,height(7)-1,left(6)-offset_x,height(7)-1

end

start:
  ' -------------------------------------------
  ' Barre de variation de teinte,
  ' parcours du cercle chromatique (0° à 360°)
  ' -------------------------------------------

  y = int(360/4)+10 : x = (2*int(1/pas))+(3*offset_x) : ' init tracage

  ' on passe par la palette TSV mais on pourrait utiliser la TSL...
  color_TSV(1) = 1  : ' reglage de la saturation (à fond pour avoir des couleurs vives)
  color_TSV(2) = 1  : ' valeur de luminosité  (à fond également)

  for teinte = 0 to 360 step 4
    color_TSV(0) = teinte
    gosub TSVtoRVB :2D_PEN_COLOR color_RVB(0),color_RVB(1),color_RVB(2)
    2d_line x,y,x+15,y
    y = y - 1
  next teinte

  ' -----------------------------------------------
  ' Affichage des palettes TSL TSV
  ' -----------------------------------------------

  ' init de la teinte par défaut (on peut mettre ce que l'on veut)
  color_TSV(0)=0: color_TSL(0)=0: x=0

  ' variation de la saturation sur axe des x
  for Saturation = 0 to 1 step pas
    color_TSV(1) = Saturation
    color_TSL(1) = Saturation
    x=x+1
    y=(height(7)-(1/pas))/2 : ' y = ( hauteur(picture) - hauteur(palette) ) / 2
    ' axe des y : variation de la luminosité
    for Luminosite = 1 to 0 step pas*(-1)
      color_TSV(2) = Luminosite
      color_TSL(2) = Luminosite
      y = y + 1
      ' palette TSV
      gosub TSVtoRVB : 2D_PEN_COLOR color_RVB(0),color_RVB(1),color_RVB(2)
      2d_point x+offset_x,y
      ' palette TSL
      gosub TSLtoRVB : 2D_PEN_COLOR color_RVB(0),color_RVB(1),color_RVB(2)
      2d_point x+(2*offset_x)+int(1/pas),y
    next Luminosite
    display  : ' synchro sur colonne
  next Saturation

return

Le tableau color_TSL(0-2) doit contenir :
0: Teinte, de 0 à 360° (voir cercle chromatique)
1: Saturation valeur comprise entre 0 et 1
2: Luminosité, valeur comprise en 0 et 1

Et en retour le tableau color_RVB( )....

Edit : Ajout des fonctions TSVtoRVB et RVBtoTSV


Dernière édition par Nardo26 le Jeu 27 Jan 2011 - 17:08, édité 4 fois
Revenir en haut Aller en bas
http://nardo26.lescigales.org
Yannick




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

Couleur : traitement par Teinte, Saturation, Luminosité Empty
MessageSujet: re   Couleur : traitement par Teinte, Saturation, Luminosité EmptyMer 26 Jan 2011 - 23:35

pourquopi j'ai droit à un :

70 label not défini line 19

scratch

en fait au départ c'est sens qui est pas défini puis j'ai décalé les déclaration de variable
pour rajouter des dim et supprimer des virgules à chaque fois il décale l'erreur.
Revenir en haut Aller en bas
Nardo26

Nardo26


Nombre de messages : 2294
Age : 56
Localisation : Valence
Date d'inscription : 02/07/2010

Couleur : traitement par Teinte, Saturation, Luminosité Empty
MessageSujet: Re: Couleur : traitement par Teinte, Saturation, Luminosité   Couleur : traitement par Teinte, Saturation, Luminosité EmptyJeu 27 Jan 2011 - 0:07

Recopie la derniere version de color.lib...
et dis moi qi ca marche...
en fait ce n'est pas sens, le include fausse le n° de ligne où se trouve l'erreur
Revenir en haut Aller en bas
http://nardo26.lescigales.org
Yannick




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

Couleur : traitement par Teinte, Saturation, Luminosité Empty
MessageSujet: Re   Couleur : traitement par Teinte, Saturation, Luminosité EmptyJeu 27 Jan 2011 - 0:15

tu as oublié le message pour les épileptiques...
Laughing
ce que je vois :
une succession de couleur en sorte de fondu

je pense que c'était le but
du moins je l'espère..
lol!
Revenir en haut Aller en bas
Nardo26

Nardo26


Nombre de messages : 2294
Age : 56
Localisation : Valence
Date d'inscription : 02/07/2010

Couleur : traitement par Teinte, Saturation, Luminosité Empty
MessageSujet: Re: Couleur : traitement par Teinte, Saturation, Luminosité   Couleur : traitement par Teinte, Saturation, Luminosité EmptyJeu 27 Jan 2011 - 0:34

Le truc c'est de pouvoir générer des palettes de couleurs en faisant varier la luminosité...
Bon c'est vrai que la démo n'est pas terrible...
Revenir en haut Aller en bas
http://nardo26.lescigales.org
Yannick




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

Couleur : traitement par Teinte, Saturation, Luminosité Empty
MessageSujet: Re   Couleur : traitement par Teinte, Saturation, Luminosité EmptyJeu 27 Jan 2011 - 0:37

Tu es sur la voie.
et tu n'est pas loin de ton exemple (cf ton lien)
Revenir en haut Aller en bas
Nardo26

Nardo26


Nombre de messages : 2294
Age : 56
Localisation : Valence
Date d'inscription : 02/07/2010

Couleur : traitement par Teinte, Saturation, Luminosité Empty
MessageSujet: Re: Couleur : traitement par Teinte, Saturation, Luminosité   Couleur : traitement par Teinte, Saturation, Luminosité EmptyJeu 27 Jan 2011 - 16:41

Bonjour,

J'ai rajouté des nouvelles procédures pour le traitement en TSV. J'en ai profité pour modifier le petit programme de démo.

Cette petite démo est là pour montrer la différence entre les différentes gestion de couleur: TSV / TSL
Il est clair que pour afficher une palette de couleur, il faut procéder différemment :
Je ne me suis pas encore vraiment penché sur le truc mais je soupconne l'utilisation d'une image png comme masque (avec transparence)
et application d'une teinte par dessus...

Cette démo est là juste pour montrer les appels aux procédures de conversion...

Un article qui explique tout : http://www.pausedotnet.fr/system-drawing-color-tsl-tsv-hsl-hsv/
Wink

Revenir en haut Aller en bas
http://nardo26.lescigales.org
Yannick




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

Couleur : traitement par Teinte, Saturation, Luminosité Empty
MessageSujet: Re   Couleur : traitement par Teinte, Saturation, Luminosité EmptyJeu 27 Jan 2011 - 16:55

Et...
...on peut voir ça où ?

scratch
Revenir en haut Aller en bas
Nardo26

Nardo26


Nombre de messages : 2294
Age : 56
Localisation : Valence
Date d'inscription : 02/07/2010

Couleur : traitement par Teinte, Saturation, Luminosité Empty
MessageSujet: Re: Couleur : traitement par Teinte, Saturation, Luminosité   Couleur : traitement par Teinte, Saturation, Luminosité EmptyJeu 27 Jan 2011 - 17:03

Pour la mise à jour, j'ai édité le 1er Post...
c'est plus simple... Wink

Edit : Une petite erreur s'etait glissée dans le code de demo:
la palette de gauche est en TSV et celle de droite TSL
Revenir en haut Aller en bas
http://nardo26.lescigales.org
Yannick




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

Couleur : traitement par Teinte, Saturation, Luminosité Empty
MessageSujet: Re   Couleur : traitement par Teinte, Saturation, Luminosité EmptyJeu 27 Jan 2011 - 17:21

Dis moi ......heuuuuu
comment tu fermes le form ?

il y a comme un pb même la croix ne ferme plus la fenêtre .

scratch
Revenir en haut Aller en bas
Nardo26

Nardo26


Nombre de messages : 2294
Age : 56
Localisation : Valence
Date d'inscription : 02/07/2010

Couleur : traitement par Teinte, Saturation, Luminosité Empty
MessageSujet: Re: Couleur : traitement par Teinte, Saturation, Luminosité   Couleur : traitement par Teinte, Saturation, Luminosité EmptyJeu 27 Jan 2011 - 17:56

Il faut être patient : le micro tourne à fond...
il faut attendre la fin des calculs...
J'ai pas trouvé le moyen de diminuer le taux d'occupation sans que pour autant cela mettent des plombes pour afficher les palettes...
C'est pour cette raison que j'ai mis des "petites" palettes...
Si tu es patient et que tu veux obtenir de belles palettes bien grande,
tu modifie la ligne qui défini le pas :
par exemple tu peux mettre :

pas = 1/255

Mais dans ce cas, tu peux aller boire un café, faire les courses, promener le chien...
Wink

Dans la démo que j'ai mis avec un pas de 4/255 cela met à peu près entre 30 et 40 secondes sur mon PC...
Revenir en haut Aller en bas
http://nardo26.lescigales.org
Yannick




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

Couleur : traitement par Teinte, Saturation, Luminosité Empty
MessageSujet: re   Couleur : traitement par Teinte, Saturation, Luminosité EmptyJeu 27 Jan 2011 - 18:03

Bon...
...Je vais voir ma maitresse et je reviens.

lol!
Revenir en haut Aller en bas
Nardo26

Nardo26


Nombre de messages : 2294
Age : 56
Localisation : Valence
Date d'inscription : 02/07/2010

Couleur : traitement par Teinte, Saturation, Luminosité Empty
MessageSujet: Re: Couleur : traitement par Teinte, Saturation, Luminosité   Couleur : traitement par Teinte, Saturation, Luminosité EmptyVen 28 Jan 2011 - 16:06

Bonjour,

J'ai poursuivi le développement de ma librairie de gestion de couleur.
Elle nécessite une autre librairie (de conversion en bas Hexa)
Tout est dans ce zip :
http://nardo26.lescigales.org/Panoramic/Couleur/Couleur.zip

Avec un petit bonus dans la librairie:

Couleur : traitement par Teinte, Saturation, Luminosité Couleur
Wink
Revenir en haut Aller en bas
http://nardo26.lescigales.org
Yannick




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

Couleur : traitement par Teinte, Saturation, Luminosité Empty
MessageSujet: Re   Couleur : traitement par Teinte, Saturation, Luminosité EmptyVen 28 Jan 2011 - 18:20

Super génial !

un petit truc tout de même,
agrandi un peu le form car à l'éxécution il devient rectangle avec des bordures grises sous vista

+ 10 en Height passe

cheers cheers cheers
Revenir en haut Aller en bas
Nardo26

Nardo26


Nombre de messages : 2294
Age : 56
Localisation : Valence
Date d'inscription : 02/07/2010

Couleur : traitement par Teinte, Saturation, Luminosité Empty
MessageSujet: Re: Couleur : traitement par Teinte, Saturation, Luminosité   Couleur : traitement par Teinte, Saturation, Luminosité EmptyVen 28 Jan 2011 - 18:48

Ok, je fais la modif...
Je vais en profiter pour gérer la prise en compte de l'édition de la valeur en hexa...
ca peut servir...
Wink

[Edit]
C'est fait !!!
on peut maintenant changer la valeur hexa et les autres champs sont automatiquement mis à jour.
voir le lien du fichier zip...

[/Edit]
Revenir en haut Aller en bas
http://nardo26.lescigales.org
Yannick




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

Couleur : traitement par Teinte, Saturation, Luminosité Empty
MessageSujet: RE   Couleur : traitement par Teinte, Saturation, Luminosité EmptyVen 28 Jan 2011 - 20:53

Bon ben... te voilà bon pour faire la bise à Claire Chazal toi aussi.
Encore un programme Panoramic au point.

Bon...heu...
le chieur de service te dirait que "Lum" au lieu de "Val" serait plus parlant.....
...mais bon....ce serait un chieur de 1ere classe.

Non ? Laughing

( en tout cas celui là je le garde à porté de souri )

PS :Une idée pour toi , si c'est faisable et j'en ai aucune idée, ce serait d'associer
une sorte de d'outils pipette pour récupérer une couleur n'importe où sur l'écran
et l'importer dans ton prog qui définirait ses valeurs.
Ce serait un plus pour ceux qui veulent faire coordonner des couleurs.
Revenir en haut Aller en bas
Nardo26

Nardo26


Nombre de messages : 2294
Age : 56
Localisation : Valence
Date d'inscription : 02/07/2010

Couleur : traitement par Teinte, Saturation, Luminosité Empty
MessageSujet: Re: Couleur : traitement par Teinte, Saturation, Luminosité   Couleur : traitement par Teinte, Saturation, Luminosité EmptyVen 28 Jan 2011 - 23:20

Non, ce n'est pas une erreur... car l'espace de couleur est de type HSV et non pas HSL...
"Valeur" est correct ou alors je peux éventuellement mettre "brillance" .... Wink

Quand à l'outil pipette j'aimerai bien l'intégré mais j'ai bien peur que cela ne soit pas possible.
Il existe bien des commandes COLOR_PIXEL_#### mais celles-ci ne fonctionnent que sur des objets Pano... Sad
Ou alors il faudrait passer par une DLL mais comme je n'arrive pas à faire tourner Delphi sous Win7, je ne peux plus en faire... Sad
Revenir en haut Aller en bas
http://nardo26.lescigales.org
Yannick




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

Couleur : traitement par Teinte, Saturation, Luminosité Empty
MessageSujet: Re   Couleur : traitement par Teinte, Saturation, Luminosité EmptyVen 28 Jan 2011 - 23:33

Ok autant pour moi sur "val"
pour Delphi j'ai pris le 7 et je suis allé dans les fichiers pour renommer celui qu'il n'arrive pas renommer
c'est con ,excuses moi, c'est idiot c'est tout simplement parcequ'il l'est déjà.
et sur vista ca passe enfin pour ce que j'ai fait avec...

sinon tu peux avec freebasic et fbedit là ça marche si tu es bilingue pour l'aide in english
Revenir en haut Aller en bas
Nardo26

Nardo26


Nombre de messages : 2294
Age : 56
Localisation : Valence
Date d'inscription : 02/07/2010

Couleur : traitement par Teinte, Saturation, Luminosité Empty
MessageSujet: Re: Couleur : traitement par Teinte, Saturation, Luminosité   Couleur : traitement par Teinte, Saturation, Luminosité EmptySam 29 Jan 2011 - 9:47

J'ai réussi à faire fonctionner Delphi 7. Je ne sais pas pourquoi, cela n'a pas marché la dernière fois...
Peut être parce que cette fois-ci j'ai fais l'install dans un répertoire différent qui nécessite pas la désactivation de l'UAC?...

J'ai donc fait une petite DLL qui m'a permis de faire la pipette. Smile
C'est franchement perfectible :
Je ne sais pas comment changer la forme du curseur de la souris pour la totalité de l'écran (j'aimerai avoir une croix)
Je maitrise pas delphi... si quelqu'un peut m'aiguiller...

tous les sources sont de le fichier zip dans le post précedent (page 1)...

ATTENTION : Après chargement de la demo, pensez à faire une sauvegarde de ce fichier pour forcer le répertoire par defaut !!!
Revenir en haut Aller en bas
http://nardo26.lescigales.org
Klaus

Klaus


Nombre de messages : 12331
Age : 75
Localisation : Ile de France
Date d'inscription : 29/12/2009

Couleur : traitement par Teinte, Saturation, Luminosité Empty
MessageSujet: Re: Couleur : traitement par Teinte, Saturation, Luminosité   Couleur : traitement par Teinte, Saturation, Luminosité EmptySam 29 Jan 2011 - 11:12

Changer le cursor ? Cherche par Google: delphi change "cursor image"
Deux résultats parmi la liste:

pour faire ron propre curseu:
http://delphi.about.com/od/adptips2005/qt/bmp2cur.htm

pour gérer l'objet curseur:
http://stackoverflow.com/questions/1175870/how-can-i-change-the-mouse-cursor-image
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Nardo26

Nardo26


Nombre de messages : 2294
Age : 56
Localisation : Valence
Date d'inscription : 02/07/2010

Couleur : traitement par Teinte, Saturation, Luminosité Empty
MessageSujet: Re: Couleur : traitement par Teinte, Saturation, Luminosité   Couleur : traitement par Teinte, Saturation, Luminosité EmptySam 29 Jan 2011 - 12:22

Bonjour Klaus,

J'arrive à changer la forme du curseur en faisant ceci:
SetSystemCursor(LoadCursorFromFile('pen_im.cur'),OCR_NORMAL);

Mais cela me pose plusieurs pb :

1- le curseur reprend sa forme d'origine si je passe devant un champs de saisie.
Il faut que je recopie autant de fois cette ligne qu'il y a d'état possible du curseur ?

2- Je ne trouve pas de doc concernant les autres OCR_xxxx,
si je googlelize OCR_NORMAL, fatalement je me retrouve avec des liens sur... OCR_NORMAL et rien concernant les autres mask/const ...

3- je n'ai pas trouvé comment, une fois mon traitement fini, lui faire reprendre sa forme "normale"...

Sad

J'y connais pas grand chose dans la programmation delphi sous windows...

Si tu me parles de programmation de PIC, 9S12DG128A, 68HC11, -> ok pas de pb, mais là... confused
Pendant que j'écris ce message, j'ai le curseur qui ressemble à un gros stabilo et c'est franchement pénible !... Very Happy

Revenir en haut Aller en bas
http://nardo26.lescigales.org
Yannick




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

Couleur : traitement par Teinte, Saturation, Luminosité Empty
MessageSujet: Re   Couleur : traitement par Teinte, Saturation, Luminosité EmptySam 29 Jan 2011 - 12:45

Ne t' affole pas, prends ton temps.
ce n'était qu'une suggestion.
je te l'ai faite car tous les log de dessin sont capables de récupérer une couleur
dans leur espace de travail mais pas à l' exterieur.

mais c'est déjà super ton outils est en Panoramic est plus compact que celui de Jack .
Laughing

ps : même Klaus pourrait l'intégrer dans son ide
Revenir en haut Aller en bas
JL35




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

Couleur : traitement par Teinte, Saturation, Luminosité Empty
MessageSujet: Re: Couleur : traitement par Teinte, Saturation, Luminosité   Couleur : traitement par Teinte, Saturation, Luminosité EmptySam 29 Jan 2011 - 13:58

Sinon, pour piquer une couleur n'importe où sur l'écran: http://colorpix.en.softonic.com/
Très pratique et discret, pas d'installation. Mais ce n'est pas sous Panoramic...
Revenir en haut Aller en bas
Nardo26

Nardo26


Nombre de messages : 2294
Age : 56
Localisation : Valence
Date d'inscription : 02/07/2010

Couleur : traitement par Teinte, Saturation, Luminosité Empty
MessageSujet: Re: Couleur : traitement par Teinte, Saturation, Luminosité   Couleur : traitement par Teinte, Saturation, Luminosité EmptySam 29 Jan 2011 - 16:02

Hello JL35 !

Mon prog arrive à capturer n'importe qu'elle couleur de l'écran...

Ce qui reste à faire et après on en parle plus c'est :
- Gèrer correctement la forme du pointeur de souris
- Faire en sorte que lorsque je clique sur une zone de l'écran ma fenêtre reste au 1er plan.
Revenir en haut Aller en bas
http://nardo26.lescigales.org
Klaus

Klaus


Nombre de messages : 12331
Age : 75
Localisation : Ile de France
Date d'inscription : 29/12/2009

Couleur : traitement par Teinte, Saturation, Luminosité Empty
MessageSujet: Re: Couleur : traitement par Teinte, Saturation, Luminosité   Couleur : traitement par Teinte, Saturation, Luminosité EmptySam 29 Jan 2011 - 16:07

Voici le code dans KGF.dll qui permet de forcer une fenêtre toujours au-dessus des autres:
Code:
// forcer une fenêtre toujours au-dessus du reste - option ON/OFF
function WindowTopMost(hwnd, flag: integer):integer; stdcall; export;
begin
    if flag=1 then
        begin
        SetForegroundWindow(hwnd);
        SetWindowPos(hwnd,HWND_TOPMOST,0,0,0,0,
            SWP_NOACTIVATE or SWP_SHOWWINDOW or SWP_NOMOVE or SWP_NOSIZE);
        end
    else
        SetWindowPos(hwnd,HWND_NOTOPMOST,0,0,0,0,
            SWP_NOACTIVATE or SWP_SHOWWINDOW or SWP_NOMOVE or SWP_NOSIZE);
    result := 1;
end;

Premier paramètre: le handle de la fenêtre
Deuxième paramètre: 1 pour activer cette possibilité, 0 pour la désactiver
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Contenu sponsorisé





Couleur : traitement par Teinte, Saturation, Luminosité Empty
MessageSujet: Re: Couleur : traitement par Teinte, Saturation, Luminosité   Couleur : traitement par Teinte, Saturation, Luminosité Empty

Revenir en haut Aller en bas
 
Couleur : traitement par Teinte, Saturation, Luminosité
Revenir en haut 
Page 1 sur 2Aller à la page : 1, 2  Suivant
 Sujets similaires
-
» Luminosité
» Traitement d'images (2)
» Traitement d'image
» Traitement d'images
» Le traitement numérique des images

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC :: PANORAMIC :: Vos projets-
Sauter vers: