tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
7
ZUGRIFFE
631
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    downset04 downset04 ist offline Mitglied Gold
    Registriert seit
    Dec 2004
    Beiträge
    167
    Hallo
    Ich möchte Random Farben erzeugen nur das ->
    Code :
    1
    2
    3
    4
    
    rval = (int)Math.floor(Math.random() * 256);
    gval = (int)Math.floor(Math.random() * 256);
    bval = (int)Math.floor(Math.random() * 256);        
    Color c = new Color(rval,gval,bval);
    erzeugt ca 80% Rot? wie kann ich das ändern? dass auch leuchtende Farben zb Blau usw mal rauskommt? die Farbenvielfalt ist sehr schlecht!
     

  2. #2
    MasterHimself MasterHimself ist offline Mitglied Bronze
    Registriert seit
    Oct 2005
    Beiträge
    35
    benötigts du wirklich die 24 bit Farben, die du damit darstellen könntest, oder reichen dir auch z.B. 256 farben? Dann könntest du z.B. einfach (int) (Math.floor(Math.random() * 8) * 32) nehmen, dadurch erhälts du nicht soviele Farbabstufungen, und solltest auch nicht sooft rot erhalten.
     

  3. #3
    downset04 downset04 ist offline Mitglied Gold
    Registriert seit
    Dec 2004
    Beiträge
    167
    komisch auch mit deiner Funktion schauts nicht viel anderst aus? sind ziemlich dunkle Farben so dunkelrot schwarz ganz wenig dunkelblau aber dunkelrot ca 70%? gibts doch nicht dass man da nicht unterschiedliche Farben kriegt?
     

  4. #4
    Avatar von teppi
    teppi teppi ist offline Mitglied Platin
    Registriert seit
    May 2004
    Ort
    Berlin
    Beiträge
    537
    Hm also bei mir funktioniert das sehr gut ..
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    
    import java.awt.BorderLayout;
    import javax.swing.JPanel;
    import javax.swing.JFrame;
    import javax.swing.JButton;
    import javax.swing.JLabel;
    import java.awt.event.*;
    import java.awt.*;
     
     
    public class RandomColor extends JFrame implements ActionListener {
     
        private JPanel jContentPane = null;
        private JButton jButton = null;
        public static void main(String[] args){
            RandomColor myrc = new RandomColor();
        }
        
        
        /**
         * This is the default constructor
         */
        public RandomColor() {
            super();
            initialize();
            this.setVisible(true);
        }
     
        /**
         * This method initializes this
         * 
         * @return void
         */
        private void initialize() {
            this.setSize(300, 200);
            this.setContentPane(getJContentPane());
            this.setTitle("JFrame");
        }
     
        /**
         * This method initializes jContentPane
         * 
         * @return javax.swing.JPanel
         */
        private JPanel getJContentPane() {
            if (jContentPane == null) {
                jContentPane = new JPanel();
                jContentPane.setLayout(new BorderLayout());
                jContentPane.setBackground(new java.awt.Color(238,238,85));
                jContentPane.add(getJButton(), java.awt.BorderLayout.NORTH);
            }
            return jContentPane;
        }
     
        /**
         * This method initializes jButton  
         *  
         * @return javax.swing.JButton  
         */
        private JButton getJButton() {
            if (jButton == null) {
                jButton = new JButton();
                jButton.setText("Randomize");
                jButton.addActionListener(this);
            }
            return jButton;
        }
     
     
        public void actionPerformed(ActionEvent e) {
            int rval = (int)Math.floor(Math.random() * 256);
            int gval = (int)Math.floor(Math.random() * 256);
            int bval = (int)Math.floor(Math.random() * 256);        
            Color c = new Color(rval,gval,bval);
            this.jContentPane.setBackground(c);
            
        }
     
    }
     
    :-) möp

  5. #5
    downset04 downset04 ist offline Mitglied Gold
    Registriert seit
    Dec 2004
    Beiträge
    167
    Hallo - Ich erzeuge schnell hintereinander in einer for Schleife die Zahlen? ich glaub das hängt damit zusammen dass der Zeitabstand zu gering ist?
     

  6. #6
    Avatar von teppi
    teppi teppi ist offline Mitglied Platin
    Registriert seit
    May 2004
    Ort
    Berlin
    Beiträge
    537
    Ja .. da liegt wohl der Hund begraben. Due Math.random Funktion basiert so weit ich weiß auf der Systemzeit.

    Schau dir mal diese Klasse an:

    http://java.sun.com/j2se/1.4.2/docs/...il/Random.html

    Da kannst du mit nextInt() usw. jeweils neue Zahlen aus einem Objekt holen. Ich denke, dies wird bessere Resultate liefern.

    Gruß Stefan
     
    :-) möp

  7. #7
    downset04 downset04 ist offline Mitglied Gold
    Registriert seit
    Dec 2004
    Beiträge
    167
    nein liefert auch nix besseres!
     

  8. #8
    illaX illaX ist offline Mitglied Brokat
    Registriert seit
    Jan 2004
    Ort
    Konstanz
    Beiträge
    268
    Hi,

    Code :
    1
    2
    3
    4
    
    Random rand = new Random();
            for(int i = 0; i < 15; i++) {
                System.out.println(rand.nextInt(256));
            }

    Ergebnis:
    207
    52
    43
    136
    55
    253
    78
    87
    121
    235
    32
    123
    14
    227
    5


    zufaellig genug?
     
    MfG
    illaX

Ähnliche Themen

  1. ie und firefox unterschiedliche farben
    Von Godstyle im Forum Sonstige Grafik-Programme
    Antworten: 9
    Letzter Beitrag: 12.07.10, 13:47
  2. Unterschiedliche Farben beim selektieren von Items in einer ListView
    Von stiernacken007 im Forum .NET WPF & Silverlight
    Antworten: 0
    Letzter Beitrag: 18.04.10, 23:25
  3. Unterschiedliche Farben beim Rendern
    Von FHPower im Forum 3D Studio Max
    Antworten: 8
    Letzter Beitrag: 25.11.04, 16:39
  4. PhotoshopCS / ImagereadyCS unterschiedliche Farben!
    Von aufmberg im Forum Photoshop
    Antworten: 0
    Letzter Beitrag: 01.04.04, 18:16
  5. Tabelle erzeugen mit unterschiedliche SQL Where Bedingung
    Von Ronnybaer im Forum Visual Basic 6.0
    Antworten: 4
    Letzter Beitrag: 05.12.03, 12:53