20. januar 2003 - 11:26Der er
19 kommentarer og 2 løsninger
Commondialog1.color omregmet til RGB farver i hex
Hejsa eksperter.
jeg har et lille problem. jeg kan sagtens få konventeret farverne fra commondialog control til hex men den viser de forkerte hexverdier for farverne. hvordan får jeg tvunget den til at vise det rigtige samt tvunget den til at vise et 6 cifret tal i stedet for at den nogle gange lave 2 (som for elsempel i rød)?
Jamen - så er det jo blot et spørgsmål om at udfylde de resterende nuller foran tallet.
For det er jo således, at: FF = 0000FF = Rød FF00 = 00FF00 = grøn osv.
Dette kan gøres sådan her:
Dim HEXcolor As String Dim HEXcolor6digits As String * 6
HEXcolor = "FF00" 'Bare for at teste If Len(HEXcolor) < 6 Then HEXcolor6digits = String(6 - Len(HEXcolor), "0") & Trim(HEXcolor) End If msgbox "Med 6 cifre ser tallet således ud: " & HEXcolor6digits
problemet er at den bytter om på rød og blå. jeg skal bruge det til et program til hjemmesider og browsere sigere at rød er FF0000. kan du så forstå mit problem?
Det kunne tyde på, at der er en forskel, således at RGB egentligt er BGR - men det kan du jo stadig klare, hvis du bare deler tallet op i protioner af 2 - de første 2 cifre er rød (eller blå), de midterste 2 er grøn og de sidste 2 er blå (eller rød)
XX YY ZZ, hvor XX er værdien for rød, YY er værdien for grøn og ZZ er værdien for blå. Altså et 6-cifret tal. Værdierne varierer fra 0 til FF hvis du bruger hexideciamale tal - fra 0 til 255 hvis du bruger 10-talssystemet.
Altså er det et spørgsmål og at dele tallet - om det er hexidecimalt, 10-talsystem eller binært eller whatever) op i 3 protioner, der reprecenterer værdien for hhv. rød, grøn og blå... Der er masser af strenge manipultaionsfunktioner der kan det, fx. mid(). Men jeg tvivler på at det er det du vil - kan du ikke bruge funktionen RGB() til noget?
jeg prøver lige at stille det simpelt op en gang til.
i VB skriver den rød i HEX kode som: 0000FF i HTML skriver den rød i HEX kode som: FF0000
jeg skal bruge et output som svare til HTML farverne. hvordan får jeg dette resultat? det hjælper ikke at læse hexkoden bagfra. det giver den forkerte farve.
"jeg ved ikke hvordan jeg bruger mid() til noget" - Jamen, er det så ikk esmart, at man som i alle andre programmer kan bruge en hjælpefunktion i VB ;o)
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.