PB à toute heure et à tout moment. (à parcourir avec modération)

Le forum (ô combien francophone) des utilisateurs de Powerbuilder.

Recherche rapide

Annonce

Certaines rubriques, dont des cours, sont uniquement visibles par les membres du forum ^^.
Dans la rubrique Liens & Références, vous avez accès à un sommaire de téléchargement, profitez-en !
Il existe maintenant un nouveau TOPIC "Votre CV en Ligne" accessible uniquement par demande.

#1 27-02-2009 09:50:16

azreil  
Membre
Date d'inscription: 27-02-2009
Messages: 3
Pépites: 20
Banque: 0

trouver RGB pour une valeur donnée

slt la couleur de fond par défaut  d'une fenêtre est backcolor = 134217751
s'est pour savoir en rgb(x,x,x) sa donne quoi merci d'avance

Hors ligne

 

#2 27-02-2009 10:05:59

erasorz  
Admin
Lieu: Babylone
Date d'inscription: 23-11-2006
Messages: 5121
Pépites: 97,197
Banque: 2,147,483,647

Re: trouver RGB pour une valeur donnée

RGB = 65536 * B + 256 * G + R

donc il faut faire successivement des divisions entières par 65536 et 256 pour trouver B, G et R


EDIT : ton nombre est supérieur à RGB(256,256,256), ça doit être une couleur "spéciale" de windows

http://pbadonf.fr/forum/viewtopic.php?id=141


N'envoyez jamais un humain faire le travail d'un programme.

Hors ligne

 

#3 27-02-2009 13:19:56

vince.janssens  
Membre Geek
Date d'inscription: 02-06-2008
Messages: 69
Pépites: 189
Banque: 0

Re: trouver RGB pour une valeur donnée

Plus simple encore, il y a

http://www.iconico.com/colorpic/

outil indispensable dont je ne peux plus me passer, oh combien de foi il m'a rendu des services... :-)

Vincent

Hors ligne

 

#4 09-03-2009 11:07:51

foon  
N2iGeek + MangasGeek = foon
Award: bf
Lieu: Bonchamp-Lès-Laval
Date d'inscription: 28-02-2007
Messages: 2487
Pépites: 88
Banque: 9,223,372,036,854,776,000

Re: trouver RGB pour une valeur donnée

Message de modération:

Bonjour azreil,
Merci de poster tes messages dans le bon topic, et de mettre à [RESOLU]
tes topics quand ils sont cloturés.


Seuls ceux qui ne font rien ne font jamais d'erreurs
http://www.nerdtests.com/images/badge/163124fb7fb459a3.gif

Hors ligne

 

#5 10-04-2009 08:41:57

bertrand_nt  
Membre
Date d'inscription: 26-03-2009
Messages: 3
Pépites: 9
Banque: 0

Re: trouver RGB pour une valeur donnée

Voici une ébauche de solution a toi de la completer.

Code: pb

long ll_res 

Constant long COLOR_SCROLLBAR = 0 
Constant long COLOR_BACKGROUND = 1 
Constant long COLOR_ACTIVECAPTION = 2 
Constant long COLOR_INACTIVECAPTION = 3 
Constant long COLOR_MENU = 4 
Constant long COLOR_WINDOW = 5 //'Windows background
Constant long COLOR_WINDOWFRAME = 6 //'Window frame
Constant long COLOR_MENUTEXT = 7 //'Window Text
Constant long COLOR_WINDOWTEXT = 8 //'3D dark shadow (Win95)
Constant long COLOR_CAPTIONTEXT = 9 //'Text in window caption
Constant long COLOR_ACTIVEBORDER = 10 //'Border of active window
Constant long COLOR_INACTIVEBORDER = 11 //'Border of inactive window
Constant long COLOR_APPWORKSPACE = 12 //'Background of MDI desktop
Constant long COLOR_HIGHLIGHT = 13 //'Selected item background
Constant long COLOR_HIGHLIGHTTEXT = 14 //'Selected menu item
Constant long COLOR_BTNFACE = 15 //'Button
Constant long COLOR_BTNSHADOW = 16 //'3D shading of button
Constant long COLOR_GRAYTEXT = 17// 'Grey text, of zero if dithering is used.
Constant long COLOR_BTNTEXT = 18 //'Button text
Constant long COLOR_INACTIVECAPTIONTEXT = 19// 'Text of inactive window
Constant long COLOR_BTNHIGHLIGHT = 20 //'3D highlight of button
Constant long COLOR_2NDACTIVECAPTION = 27 //'Win98 only: 2nd active window color
Constant long COLOR_2NDINACTIVECAPTION = 28 //'Win98 only: 2nd inactive window color
Constant long COLOR_INFOBK =24
Constant long COLOR_INFOTEXT =23
Constant long COLOR_3DLIGHT =22
Constant long COLOR_3DSHADOW =21




if p_color < RGB(255,255,255) then return p_color

choose case p_color
  case 2^25  //Window text
    ll_res= GetSysColor(COLOR_MENUTEXT)
  case 2^26 //buttonface
    ll_res= GetSysColor(COLOR_BTNFACE)
  case 2^27 //scroll bar background
    ll_res= GetSysColor(COLOR_SCROLLBAR)
  case 2^28 //apllication workspace  
    ll_res= GetSysColor(COLOR_APPWORKSPACE)    
  case 2^29 //transparent
    ll_res= RGB(255,255,255) // discutable
  case 2^30 //WindowBackgroud  
    ll_res= GetSysColor(COLOR_BACKGROUND)  
  case 134217752 // tootil  
    ll_res= GetSysColor(COLOR_INFOBK)
  case 134217737 // active title bar text
    ll_res= GetSysColor(COLOR_MENU)
  case else
    RGB(255,255,255)
end choose
return ll_res


Hors ligne

 

#6 16-04-2009 12:49:45

BRWA  
Membre Power Geek
Lieu: Beuzet (Belgique)
Date d'inscription: 18-12-2008
Messages: 151
Pépites: 24,612
Banque: 0

Re: trouver RGB pour une valeur donnée

Code: pb

LONG ll_red,ll_green,ll_blue,ll_color
ll_red = MOD(ll_color,256)
ll_green = MOD(ll_color/256,256)
ll_blue = INT(ll_color/256^2))

Dernière modification par BRWA (16-04-2009 13:02:07)


Wagener Bruno

Hors ligne

 

Pied de page des forums

Propulsé par FluxBB 1.2.22