Couleur dorée

Résolu
mJuJu Messages postés 56 Date d'inscription jeudi 20 octobre 2005 Statut Membre Dernière intervention 27 mai 2014 - 27 janv. 2007 à 13:53
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 - 28 janv. 2007 à 18:16
Bonjour,
est-ce quelqu'un pourrait me donner les valeurs RGB pour obtenir une belle couleur dorée et rutilante. C'est pour faire un joli logo sur fond bleu.
Merci pour vos réponses.

JuJu

19 réponses

PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
28 janv. 2007 à 14:10
salut,

pose ce code dans une Form sans barre de titre

Option Explicit

Private Const DIB_RGB_COLORS          As Long
= 0
Private Const PI                      As Single
= 3.14159265358979
Private Const TO_DEG                  As Single
= 180 / PI
Private Const TO_RAD                  As Single
= PI / 180
Private Const INT_ROT                 As Long
= 1000

Private Type BITMAPINFOHEADER
   biSize                             As Long
   biWidth                            As Long
   biHeight                           As Long
   biPlanes                           As Integer
   biBitCount                         As Integer
   biCompression                      As Long
   biSizeImage                        As Long
   biXPelsPerMeter                    As Long
   biYPelsPerMeter                    As Long
   biClrUsed                          As Long
   biClrImportant                     As Long
End Type

Private Declare Function StretchDIBits Lib "gdi32" (ByVal hdc As Long, ByVal x As Long, ByVal y As
Long, ByVal dx As Long,
ByVal dy As Long, ByVal SrcX As Long, ByVal SrcY As Long, ByVal wSrcWidth As Long, ByVal wSrcHeight As Long, lpBits As Any, lpBitsInfo As Any, ByVal wUsage As Long, ByVal dwRop As Long) As
Long
Private Declare Function BeginPath Lib "gdi32" (ByVal hdc As Long) As Long
Private Declare Function EndPath Lib "gdi32" (ByVal hdc As Long) As Long
Private Declare Function PathToRegion Lib "gdi32" (ByVal hdc As Long) As Long
Private Declare Function TextOut Lib "gdi32" Alias "TextOutA" (ByVal hdc As Long, ByVal x As Long, ByVal y As
Long, ByVal lpString As String, ByVal nCount As Long) As Long
Private Declare Function SetWindowRgn Lib "user32" (ByVal hWnd As Long, ByVal hRgn As Long, ByVal bRedraw As Boolean) As Long
Private Declare Function DeleteObject Lib "gdi32" (ByVal hObject As Long) As Long
'
'
'
Private Sub Form_Load()
    Me.Width = 7650
    Me.Height = 2190

    Dim hRgn As Long
    Const sText = "Alphabet :Þ"
    'set the font to 'Times New Romen, size
72'
    Me.FontName = "Times New Roman"
    Me.FontSize = 72
    'set the backcolor to Red
    Me.BackColor = vbRed
    'open a
path bracket
    BeginPath Me.hdc
    'draw the text
    TextOut Me.hdc, 0, 0, sText, Len(sText)
    'close the path
bracket
    EndPath Me.hdc
    'convert the path to a region
    hRgn = PathToRegion(Me.hdc)
    'set
the Window-region
    SetWindowRgn Me.hWnd, hRgn, True
    'destroy our
region
    DeleteObject hRgn
    
    Me.AutoRedraw = True
    DoEvents
    Me.Show
    Call PaintGradient(Me.hdc, 0, 0, Me.Width / 15, Me.Height / 15, &H4040&, &HC0FFFF, 90,
False)

End Sub
'
'
Private Sub Form_Click()
    Unload Me
End Sub
'
'
Private Sub PaintGradient(ByVal hdc As Long, ByVal x As
Long, ByVal y As Long,
ByVal Width As Long, ByVal Height As Long, ByVal Color1 As Long, ByVal Color2 As Long, ByVal Angle As Single, ByVal bMOut As Boolean)

'*************************************************************************
'* Carles P.V.'s routine, modified by Matthew R. Usner for
middle-out    *
'* gradient capability.  Original
submission at PSC, txtCodeID=60580.    *
'*************************************************************************

   Dim uBIH      As BITMAPINFOHEADER
   Dim lBits()   As Long
   Dim lGrad()   As Long, lGrad2() As Long

   Dim lClr      As Long
   Dim R1        As Long, G1 As Long, b1 As Long
   Dim R2        As Long, G2 As Long, b2 As Long
   Dim dR        As Long, dG As Long, dB As Long

   Dim Scan      As Long
   Dim I         As Long, j As Long, k As Long
   Dim jIn       As Long
   Dim iEnd      As Long, jEnd As Long
   Dim Offset    As Long

   Dim lQuad     As Long
   Dim AngleDiag As Single
   Dim AngleComp As Single

   Dim g         As Long
   Dim luSin     As Long, luCos As Long
 
   If (Width > 0 And Height > 0) Then

'     Matthew R. Usner -
solves weird problem of when angle is
'     >=
91 and <= 270, the colors invert in MiddleOut mode.
      If bMOut And Angle >= 91 And Angle
<= 270 Then
         g = Color1
         Color1 = Color2
         Color2 = g
      End If

'     -- Right-hand [+]
(ox=0º)
      Angle = -Angle + 90

'     -- Normalize to
[0º;360º]
      Angle = Angle Mod 360
      If (Angle < 0) Then
         Angle = 360 + Angle
      End If

'     -- Get quadrant (0
- 3)
      lQuad = Angle \ 90

'     -- Normalize to
[0º;90º]
        Angle = Angle Mod 90

'     -- Calc. gradient length ('distance')
      If (lQuad Mod 2 = 0) Then
         AngleDiag = Atn(Width / Height) * TO_DEG
      Else
         AngleDiag = Atn(Height / Width) * TO_DEG
      End If
      AngleComp = (90 - Abs(Angle - AngleDiag)) * TO_RAD
      Angle = Angle * TO_RAD
      g = Sqr(Width * Width + Height * Height) * Sin(AngleComp) 'Sinus theorem

'     --
Decompose colors
      If (lQuad > 1) Then
         lClr = Color1
         Color1 = Color2
         Color2 = lClr
      End If
      R1 = (Color1 And &HFF&)
      G1 = (Color1 And &HFF00&) \ 256
      b1 = (Color1 And &HFF0000) \ 65536
      R2 = (Color2 And &HFF&)
      G2 = (Color2 And &HFF00&) \ 256
      b2 = (Color2 And &HFF0000) \ 65536

'     -- Get color distances
      dR = R2 - R1
      dG = G2 - G1
      dB = b2 - b1

'     -- Size
gradient-colors array
      ReDim lGrad(0 To g - 1)
      ReDim lGrad2(0 To g - 1)

'     -- Calculate
gradient-colors
      iEnd = g - 1
      If (iEnd = 0) Then
'        -- Special case (1-pixel wide
gradient)
         lGrad2(0) = (b1 \ 2 + b2 \ 2) + 256
* (G1 \ 2 + G2 \ 2) +
65536 * (R1 \ 2 + R2 \ 2)
      Else
         For I = 0 To iEnd
            lGrad2(I) = b1 + (dB * I) \ iEnd + 256
* (G1 + (dG * I) \ iEnd) + 65536 * (R1 + (dR * I) \
iEnd)
         Next I
      End If

'     'if block' added by Matthew R. Usner - accounts for possible
MiddleOut gradient draw.
      If bMOut Then
         k = 0
         For I = 0 To iEnd Step 2
            lGrad(k) = lGrad2(I)
            k = k + 1
         Next I
         For I = iEnd - 1 To 1 Step -2
            lGrad(k) = lGrad2(I)
            k = k + 1
         Next I
      Else
         For I = 0 To iEnd
            lGrad(I) = lGrad2(I)
         Next I
      End If

'     -- Size DIB
array
      ReDim lBits(Width * Height - 1) As Long
      iEnd = Width - 1
      jEnd = Height - 1
      Scan = Width

'     -- Render
gradient DIB
      Select Case lQuad

         Case 0, 2
            luSin = Sin(Angle) * INT_ROT
            luCos = Cos(Angle) * INT_ROT
            Offset = 0
            jIn = 0
            For j = 0 To jEnd
               For I = 0 To iEnd
                  lBits(I + Offset) = lGrad((I * luSin + jIn) \
INT_ROT)
               Next I
               jIn = jIn + luCos
               Offset = Offset + Scan
            Next j

         Case 1, 3
            luSin = Sin(90 * TO_RAD - Angle) * INT_ROT
            luCos = Cos(90 * TO_RAD - Angle) * INT_ROT
            Offset = jEnd * Scan
            jIn = 0
            For j = 0 To jEnd
               For I = 0 To iEnd
                  lBits(I + Offset) = lGrad((I * luSin + jIn) \
INT_ROT)
               Next I
               jIn = jIn + luCos
               Offset = Offset - Scan
            Next j

      End Select

'     -- Define DIB
header
      With uBIH
         .biSize = 40
         .biPlanes = 1
         .biBitCount = 32
         .biWidth = Width
         .biHeight = Height
      End With

'     -- Paint
it!
      Call StretchDIBits(hdc, x, y, Width, Height, 0, 0, Width, Height, lBits(0), uBIH, DIB_RGB_COLORS,
vbSrcCopy)

    End If
End Sub

<small>Coloration
syntaxique automatique [AFCK] </small>
       

++
PCPT  [AFCK]
<hr size ="2" width="100%" />Prenez un instant pour répondre à [infomsg_SONDAGE-POP3-POUR-CS_769706.aspx ce sondage] svp
3
jmfmarques Messages postés 7666 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 27
27 janv. 2007 à 13:59
Il y a plusieurs couleurs "doré", selon le goût de chacun et, surtout (là c'est le peintre qui s'exprime), selon la couleur qui juxtapose ce doré !

Le doré que j'aime, moi, c'est celui qui s'éloigne du tambour !
Tu la connais ?
Non ?
C'est pourtant simple : joue et chante à haute voix, donc :
"t'auras pas ta pomme ! t'auras pas ta pomme, t'auras pas ta pomme !...."  à l'infini

Plus sérieusement : ouvre donc ta palette et chois la couleur que tu veux ... puis vois-en la valeur !
0
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
27 janv. 2007 à 14:04
salut,
la couleur or n'existe pas, l'effet est rendu grâce à la lumière.
pour l'obtenir tu devras faire un dégradé avec blanc/jaune (&H00C0FFFF&) et de gris/vert (&H00004040&)

çà donnera à peu près çà :

++
PCPT  [AFCK]
<hr size="2" width="100%" />Prenez un instant pour répondre à [infomsg_SONDAGE-POP3-POUR-CS_769706.aspx ce sondage] svp
0
cs_casy Messages postés 7741 Date d'inscription mercredi 1 septembre 2004 Statut Membre Dernière intervention 24 septembre 2014 40
27 janv. 2007 à 14:10
tu peux aussi essayer les codes suivants : RGB(255,216,0) ou RGB(216,164,32). Il existe quantité d'autres combinaisons suivant la nuance que tu souhaite.

---- Sevyc64  (alias Casy) ----<hr size="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
jmfmarques Messages postés 7666 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 27
27 janv. 2007 à 14:12
J'insiste : ce ne sera pas une seule couleur mais un ensemble de couleurs juxtaposées (comme en peinture), s'il veut son effet "doré"
0
mJuJu Messages postés 56 Date d'inscription jeudi 20 octobre 2005 Statut Membre Dernière intervention 27 mai 2014
27 janv. 2007 à 15:18
Bon sang de bon soir!
Je ne pensais pas que ça serait si difficile d'obtenir une couleur dorée. Si j'ai posé cette question, c'est bien parce que j'ai cherché sur ma palette de couleurs (clin d'oeil à jmfmarques) et que je n'ai rien trouvé qui me convenait. Sur internet, par exemple, l'effet doré est très bien reproduit. Mais je crois volontiers le peintre quand il affirme que c'est un dégradé ou une juxtaposition de couleurs et que l'effet de la lumière a son importance. Seulement voilà: je n'ai rien sous la main pour faire un dégradé de couleurs et obtenir le résultat présenté par PCPT. Pourriez-vous m'aider un peu pour y arriver?
Merci.
 
JuJu  
0
jmfmarques Messages postés 7666 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 27
27 janv. 2007 à 15:28
MJuJu comprendra peut-être mieux ce qu'est l'illusion avec ce vilain (pas eu le temps de m'y attarder) "doré" mouvant :


Une form, ce code ... et tu lances : attention : si tu lances depuis l'IDE, ferme avec le bouton stop, pas avec la petite croix !


Private Sub Form_Activate()
    Randomize
    Dim CX, CY, Msg, XPos, YPos ' Declare variables.
    ScaleMode = 3
    DrawWidth = 2
    ForeColor = VBYelow
    CX = ScaleWidth / 2
    CY = ScaleHeight / 2
    Cls
    CurrentX = CX - TextWidth(Msg) / 2
    CurrentY = CY - TextHeight(Msg)
    Do
        XPos = Rnd * ScaleWidth
        YPos = Rnd * ScaleHeight
        toto = Int((4 * Rnd) + 1)
        Select Case toto          Case Is 1: titi &HC0C0&          Case Is 2: titi &HC0FFFF          Case Is 3: titi &HFFFFFF
          Case Else: titi = vbYellow
        End Select
        PSet (XPos, YPos), titi
        DoEvents
    Loop
End Sub
0
mJuJu Messages postés 56 Date d'inscription jeudi 20 octobre 2005 Statut Membre Dernière intervention 27 mai 2014
27 janv. 2007 à 15:48
Jmfmarques, j'ai lancé ton code. Mon dieu que c'est vilain.
En attendant votre aide je poursuis ma recherche de l'eldorado, je veux dire de la "couleur" dorée. Peut-être des icônes ... Peut-être une piste sur un autre site ...

JuJu
  
0
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
27 janv. 2007 à 15:54
regarde du côté de GdiGradientFillRect

++
0
cs_EBArtSoft Messages postés 4525 Date d'inscription dimanche 29 septembre 2002 Statut Modérateur Dernière intervention 22 avril 2019 9
27 janv. 2007 à 21:36
C'est pas Visual basic qu'il te faut mais PhotoShop !

@+

E.B.
0
jmfmarques Messages postés 7666 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 27
27 janv. 2007 à 21:50
Bonsoir, EBArtSoft,

même avec çà ... le "doré" n'est pas une couleur mais un rendu dans un ensemble....
il en va de même du "cuivré", de l'"argenté", etc...


c'"est à la fois simple (pour un artiste) et compliqué (sans cette approche artistique).


La preuve ?


OK :


Un scanner, une image avec la représentation d'un doré....


Quel pixel choisirat-i ? je suis là très intéressé... le blanc, le jaune, le vert, le gris ?


un seul pixel dont il prendrait la couleur comme étant le "doré" et mis uniformément en aplat, ma foi, donnerait tout sauf du doré..


Il existe toutefois une convention d'appelation "jaune Or", mais ce jaune-là ne donne pas du "doré".
0
jmfmarques Messages postés 7666 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 27
27 janv. 2007 à 21:55
Reprenons, par exemple, l'image fournie par PCPT :

nous n'avons pas là une couleur "dorée" mais un aspect doré.

Il est totalement impossible d'avoir un "doré", quel que soit le pixel choisi sur cette image, en mettant en aplat la couleur de ce seul pixel.
0
cs_EBArtSoft Messages postés 4525 Date d'inscription dimanche 29 septembre 2002 Statut Modérateur Dernière intervention 22 avril 2019 9
27 janv. 2007 à 21:55
 jmfmarques> Oui justement tu ouvres photoshop tu vas dans textures -> gold et hop c'est fait il aura son "fond doré". Par contre tu peux mettre toutes les valeurs dans RGB() ça donnera jamais rien :p

@+

E.B.
0
jmfmarques Messages postés 7666 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 27
27 janv. 2007 à 22:03
C'est bien celà, en effet : une texture composée de plusieurs couleurs, pas une couleur.
Je fais en général les miennes "à la main" plutôt qu'avec une texture, pour mieux jouer avec les reflets et éclairage, y compris lorsque le logiciel est assez puissant pour m'offrir certaines possibilités d'incidence lumineuse (il n'offrira en effet jamais le reflet résultant de la proximité d'un objet bleu, ou rouge, par exemple !). Dur Dur...de se contenter de l'informatique seule (sans intervention humaine) à des fins artistiques fines...
0
cs_EBArtSoft Messages postés 4525 Date d'inscription dimanche 29 septembre 2002 Statut Modérateur Dernière intervention 22 avril 2019 9
27 janv. 2007 à 22:06
C'est un instant Kodac ! ahaha

;p

E.B.
0
mJuJu Messages postés 56 Date d'inscription jeudi 20 octobre 2005 Statut Membre Dernière intervention 27 mai 2014
28 janv. 2007 à 12:11
Merci à tous pour vos suggestions et remarques. En fait, j'ai l'impression que je n'arriverai pas à "fabriquer" un alphabet doré comme le papier du bonbon que je déguste en ce moment. Je voulais faire un joli logo. Je vais utiliser une teinte à peu près sympa. Toutefois, si vous avez une idée, ou bien connaissez quelqu'un qui a déjà fait ça, je suis preneur. Je vais voir ce que j'ai du côté des logiciels photo. Mais j'ai pas envie de faire une usine à gaz en ce moment ni passer le réveillon là-dessus. Rien que pour faire un "A" ou un "B" doré, ça va me prendre des plombes. J'ai déjà compris que c'était pas simple. Encore merci.
   
0
jmfmarques Messages postés 7666 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 27
28 janv. 2007 à 17:52
Hé bé !
Saura-t-il maintenant "extirper" la "chose" ?
0
jmfmarques Messages postés 7666 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 27
28 janv. 2007 à 18:11
voilà donc con "cuivré" (s'il changeait d'avis) :

    Call PaintGradient(Me.hdc, 0, 0, Me.Width / 15, Me.Height / 15, &H4040&, &HC0C0FF, 90, False)
0
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
28 janv. 2007 à 18:16
rend mieux (à mon goût) en terminant par True ^^
0
Rejoignez-nous