Avatar billede nielsbrinch Nybegynder
10. marts 2002 - 13:28 Der er 5 kommentarer og
1 løsning

color.get???() for #FFFFFF (hvid)

Lidt kryptisk titel på spørgsmålet. Men sagen er den at jeg har et farveobjekt (color), som jeg har valgt gennem en JColorChooser. Det farveobjekt vil jeg gerne have omdannet til en farve i HTML kode.

#FFFFFF er hvid, #000000 er sort osv...

Jeg kan ikke finde nogen funktion til det på et Color-objekt, og jeg kan heller ikke finde nogen hjælp til det på Sun's webside.
Avatar billede soreno Praktikant
10. marts 2002 - 13:45 #1
#FFFFFF er bare en omskrivning til hexadecimalt fra RGB(255 255 255).
255 decimal er FF hexadecimal.

Du skal altså bare have en metode der omskriver RGB fra decimalt til hexadecimalt og så sætte en # foran

public string convert(Color c)
{
  String temp = "#";
  temp += toHex(c.getRed());
  temp += toHex(c.getGreen());
  temp += toHex(c.getBlue());
 
  return temp;
}

public string toHex(int n)
{
  String temp;
  //omdan int til hex og returnere i en string
  ..
  return temp;
}
Avatar billede nielsbrinch Nybegynder
10. marts 2002 - 13:55 #2
Soreno ... tak - men det er jo netop "//omdan int til hex og returnere i en string" jeg leder efter svaret på.
Avatar billede soreno Praktikant
10. marts 2002 - 14:02 #3
ok, så kommer den:
public String toHex(int n)
{
  return Integer.toHexString(n);
}
Avatar billede nielsbrinch Nybegynder
10. marts 2002 - 14:12 #4
Tak
Avatar billede nielsbrinch Nybegynder
10. marts 2002 - 22:56 #5
Til andre der skal bruge dette: Med ovenstående løsning bliver 06 f.eks. hugget af til 6 og 00 bliver hugget af til 0. Dette løses ved at bruge følgende metode i stedet for toHex()

public String toHex(int n)
{
  StringBuffer sb = new StringBuffer(Integer.toHexString(n));
  if (sb.length() == 1)
  {
    sb.insert(0, "0");
  }
  return sb.toString();
}
Avatar billede soreno Praktikant
11. marts 2002 - 15:57 #6
forudsat at pre-betingelserne er: 0<n<256
Avatar billede Ny bruger Nybegynder

Din løsning...

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.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester