Java, Farben, Integer und RGB

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Java, Farben, Integer und RGB

    Hey, ichhab den code schon fertig geschrieben, hab aber 2 frage :

    warum steht da" int rot = (int) (Math.random*255);"

    Frage 1= wieso wird Math.radndom*255 in ein int umgewandelt, es ist doch schon längst ein int... (eine zufalszahl mal 255)

    Frage 2 = wie ist das mit rot und grün und blau áb welchen werten is rot ich versteh das nicht warum man das gerade mit Mathe.random macht... (eine einfach kurze erklärungh reicht, dass ich es verstehe .. danke =))



    import java.awt.*;
    import javax.swing.*;

    public class Zeichenpanel extends JPanel {

    public void paintComponent(Graphics g){

    Graphics2D g2d = (Graphics2D) g;

    int rot = (int) (Math.random() * 255);
    int gruen = (int) (Math.random() * 255);
    int blau = (int) (Math.random() * 255);

    Color start = new Color(rot,blau,gruen);

    rot = (int) (Math.random()*255);
    gruen = (int) (Math.random()*255);
    blau = (int) (Math.random()*255);

    Color end = new Color(rot,blau,gruen);

    GradientPaint gradient = new GradientPaint(70,70,start,150,150,end);

    g2d.fillRect(0,0, this.getWidth(), this.getHeight());
    g2d.setPaint(gradient);
    g2d.fillOval(70,70,100,100);

    }
    }
  • Also erstens wäre es gut wenn du Java Syntax Highlight benutzt. Da der Code offensichtlich nicht von dir ist, solltest du eigentlich den Fragen, der das programmiert hat.

    Also du brauchst zwei Farben, eine Anfangsfarbe und eine Zielfarbe um den Verlauf zu zeichnen. Eine Farbe setzt sich aus drei Teilen (Rot, Grün, Blau) zusammen jeweils mit ganzzahligen Werten zwischen 0 und 255.

    Math.Random() liefert dir eine Zahl zwischen 0.0 und 1.0 vom Typen double (Doku). Diese mit 255 multipliziert ergibt eine Zahl zwischen 0 und 255 vom Typen double (weil: int * double = double). Rot ist aber ein int und Java castet nie automatisch vom größeren Typen zum kleineren (mit einer Ausnahme), weil das verlustbehaftet ist. Deswegen der Cast. Das machst du für jeden der drei Werte und schon hast du eine Zufallsfarbe. Wie eine RGB-Farbe aufgebaut wird, kannst du hier nachlesen.
    ~ mfg SeBa

    Ich beantworte keine PMs zu Computer-/Programmierproblemen. Bitte wendet euch an das entsprechende Forum.

    [Blockierte Grafik: http://i.creativecommons.org/l/by-sa/3.0/80x15.png]