Je recherche la formule de la méthode toRGB() de la classe COLOR.
Cette méthode permet de convertir une instance de Color en un int.
Je pensais qu'il s'agissait d'une formule du type
mais le programme si dessous (et des nombreux essais) me prouve le contraire.
public class Test
{
public static void main(String[] args)
{
int c1 = new Color(0, 0, 0).getRGB();
int c2 = new Color(255, 0, 0).getRGB();
int c3 = new Color(0, 255, 0).getRGB();
int c4 = new Color(0, 0, 255).getRGB();
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Farid
en regardant le source de la classe color:
/** * Creates an opaque sRGB color with the specified red, green, * and blue values in the range (0 - 255). * The actual color used in rendering depends * on finding the best match given the color space * available for a given output device. * Alpha is defaulted to 255. * @param r the red component * @param g the green component * @param b the blue component * @see #getRed * @see #getGreen * @see #getBlue * @see #getRGB */ public Color(int r, int g, int b) { this(r, g, b, 255); }
public Color(int r, int g, int b, int a) { value = ((a & 0xFF) << 24) | ((r & 0xFF) << 16) | ((g & 0xFF) << 8) | ((b & 0xFF) << 0); ... }
avec a%5.
donc le getRGB te retourne ARGB. si tu ne veux pas de la component Alpha, tu la mask: getRGB()&0xFFFFFF
Farid.
"Sma" wrote in message news:
Bonjour à tous.
Je recherche la formule de la méthode toRGB() de la classe COLOR. Cette méthode permet de convertir une instance de Color en un int. Je pensais qu'il s'agissait d'une formule du type
mais le programme si dessous (et des nombreux essais) me prouve le contraire.
public class Test { public static void main(String[] args) { int c1 = new Color(0, 0, 0).getRGB(); int c2 = new Color(255, 0, 0).getRGB(); int c3 = new Color(0, 255, 0).getRGB(); int c4 = new Color(0, 0, 255).getRGB();
System.out.println(c1 + "n" + c2 + "n" + c3 + "n" + c4); } }
SORTIE :
-16777216 -65536 -16711936 -16776961
Par avance merci pour votre aide. Frédéric Gros.
en regardant le source de la classe color:
/**
* Creates an opaque sRGB color with the specified red, green,
* and blue values in the range (0 - 255).
* The actual color used in rendering depends
* on finding the best match given the color space
* available for a given output device.
* Alpha is defaulted to 255.
* @param r the red component
* @param g the green component
* @param b the blue component
* @see #getRed
* @see #getGreen
* @see #getBlue
* @see #getRGB
*/
public Color(int r, int g, int b) {
this(r, g, b, 255);
}
public Color(int r, int g, int b, int a)
{
value = ((a & 0xFF) << 24) | ((r & 0xFF) << 16) | ((g & 0xFF) << 8) |
((b & 0xFF) << 0);
...
}
avec a%5.
donc le getRGB te retourne ARGB.
si tu ne veux pas de la component Alpha, tu la mask: getRGB()&0xFFFFFF
Farid.
"Sma" <frederic.gros@laposte.net> wrote in message
news:4fb79a6a.0404260223.384725a5@posting.google.com...
Bonjour à tous.
Je recherche la formule de la méthode toRGB() de la classe COLOR.
Cette méthode permet de convertir une instance de Color en un int.
Je pensais qu'il s'agissait d'une formule du type
mais le programme si dessous (et des nombreux essais) me prouve le
contraire.
public class Test
{
public static void main(String[] args)
{
int c1 = new Color(0, 0, 0).getRGB();
int c2 = new Color(255, 0, 0).getRGB();
int c3 = new Color(0, 255, 0).getRGB();
int c4 = new Color(0, 0, 255).getRGB();
System.out.println(c1 + "n" + c2 + "n" + c3 + "n" + c4);
}
}
/** * Creates an opaque sRGB color with the specified red, green, * and blue values in the range (0 - 255). * The actual color used in rendering depends * on finding the best match given the color space * available for a given output device. * Alpha is defaulted to 255. * @param r the red component * @param g the green component * @param b the blue component * @see #getRed * @see #getGreen * @see #getBlue * @see #getRGB */ public Color(int r, int g, int b) { this(r, g, b, 255); }
public Color(int r, int g, int b, int a) { value = ((a & 0xFF) << 24) | ((r & 0xFF) << 16) | ((g & 0xFF) << 8) | ((b & 0xFF) << 0); ... }
avec a%5.
donc le getRGB te retourne ARGB. si tu ne veux pas de la component Alpha, tu la mask: getRGB()&0xFFFFFF
Farid.
"Sma" wrote in message news:
Bonjour à tous.
Je recherche la formule de la méthode toRGB() de la classe COLOR. Cette méthode permet de convertir une instance de Color en un int. Je pensais qu'il s'agissait d'une formule du type
mais le programme si dessous (et des nombreux essais) me prouve le contraire.
public class Test { public static void main(String[] args) { int c1 = new Color(0, 0, 0).getRGB(); int c2 = new Color(255, 0, 0).getRGB(); int c3 = new Color(0, 255, 0).getRGB(); int c4 = new Color(0, 0, 255).getRGB();
System.out.println(c1 + "n" + c2 + "n" + c3 + "n" + c4); } }
SORTIE :
-16777216 -65536 -16711936 -16776961
Par avance merci pour votre aide. Frédéric Gros.
frederic.gros
Merci pour ton aide. Je ne me souvenais plus que les sources de swing sont disponibles. A+.
Merci pour ton aide.
Je ne me souvenais plus que les sources de swing sont disponibles.
A+.