Jarod1980
Messages postés273Date d'inscriptionsamedi 5 juillet 2003StatutMembreDernière intervention31 mars 2015
-
18 juin 2005 à 10:53
Jarod1980
Messages postés273Date d'inscriptionsamedi 5 juillet 2003StatutMembreDernière intervention31 mars 2015
-
18 juin 2005 à 12:42
Salut,
Voilà j'ai un petit probleme que je n'arrive pas a resoudre. J'ai fais un programme permettant que tracer les lignes de champs. Je voudrais tracer les lines de champs en blanc ici pas de problème et le potentiel allant du rouge vers le bleu et ici j'ai une erreur de compilation.
Voici une partie de mon code:
...
// dessine le potentiel couleur du rouge à bleu
g.drawLine(ix,iy,ix,iy);
int h = 82 - (int) (V * 3);
if (h < 0) h = 0;
if (h > 164) h = 164;
g.setColorHSB(h, 255, 255);
...
Lorque je compile j'ai cette erreur:
FieldLinesApp.java :44:cannot find symbol
symbol : method setColorHSB(int, int, int)
location : class java.awt.Graphics
g.setColorHSB(h, 255, 255);
1 error
En fait, je sais pas si setColorHSB existe. Ce que je voulais en marquant setColorHSB c'etait representer le Hue, Saturation, et Brightness. Sachant que le Hue determinera la couleur (du rouge à l'orange, jaune, vert, bleu, indigo, et violet). Le brightness determine l'intensité (depuis la lumière ou sombre). La saturation determine la couleur de profondeur (partant du terne à l'intense).
Peut être qu'il existe une autre fonction, je ne sais pas. Si quelqu'un peut m'aider ça serait bien.
Merci Encore.
cs_Dobel
Messages postés333Date d'inscriptiondimanche 25 mai 2003StatutMembreDernière intervention23 novembre 20091 18 juin 2005 à 11:54
Ca se passe dans la classe Color
Un ptit extrait de la doc :
getHSBColor
public static [file:///usr/doc/java-sdk-docs-1.4.2/html/api/java/awt/Color.html Color] getHSBColor(float h,
float s,
float b)
Creates a
Color
object based on the specified values
for the HSB color model.
The
s
and
b
components should be
floating-point values between zero and one
(numbers in the range 0.0-1.0). The
h
component
can be any floating-point number. The floor of this number is
subtracted from it to create a fraction between 0 and 1. This
fractional number is then multiplied by 360 to produce the hue
angle in the HSB color model.
<dl> * Parameters: : <dd>
h
- the hue component<dd>
s
- the saturation of the color<dd>
b
- the brightness of the color
* Returns: : a
Color
object with the specified hue,
saturation, and brightness.
</dd>
</dl>
donc par exemple :
Color couleur = Color.getHSBColor(0.4f, 0.7f, 0.9f);
g.setColor(couleur);
les valeurs doivent être ramenées en float entre 0 et 1.
Dobel
[Une fois rien, c'est rien; deux fois
rien, ce n'est pas beaucoup, mais pour trois fois rien, on peut déjà
s'acheter quelque chose, et pour pas cher]
Jarod1980
Messages postés273Date d'inscriptionsamedi 5 juillet 2003StatutMembreDernière intervention31 mars 20152 18 juin 2005 à 12:42
Salut,
Merci pour ton aide. J'ai fais le changement, j'ai donc rajouté:
g.drawLine(ix,iy,ix,iy);
int h = 82 - (int) (V * 3);
if (h < 0) h = 0;
if (h > 164) h = 164;
Color couleur = Color.getHSBColor(h, 255, 255);
g.setColor(couleur);
Par contre j'ai un fond de couleur qui reste jaune au lieu d'avoir un dégradé du rouge vers le bleu. Je vais essayé de coller une image de ce que normalement je voudrais avoir:
Peut être qu'il y a quelques choses que j'ai mal fais. Si tu as une idée.
Merci encore pour ton aide.