Quoi, tu ne connais pas PB ? Va falloir parcourir tout le forum alors !

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