non pas un dégradé je veux un buton qui manipule l'intensité de tous les cercles
Version imprimable
non pas un dégradé je veux un buton qui manipule l'intensité de tous les cercles
alors personne n a aucune idée sur ça?
Bonjour,
Si si c'est toujours faisable
pense à :resolu: et :plusser: :mouarf: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
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118 import javax.swing.*; import java.util.*; import java.awt.geom.*; import java.awt.*; import java.awt.event.*; import javax.swing.event.*; public class DemoCercleRandom extends JFrame implements ActionListener, ChangeListener{ ArrayList<Ellipse2D.Float> listCercles = new ArrayList<Ellipse2D.Float>(); int nombreDeCercles = 20; int rayon= 30; JTextField textNombreDeCercles = new JTextField(3); JTextField textRayonDesCercles = new JTextField(3); JButton bouton = new JButton("Rafraichir"); CercleRandom c; JSlider slider = new JSlider(0,255,0); public static void main(String[] args) throws Exception { DemoCercleRandom D = new DemoCercleRandom(); } public DemoCercleRandom() { //setSize(1024,1024); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); JPanel panelNord = new JPanel(); panelNord.add(new JLabel("Nombre de cercles")); panelNord.add(textNombreDeCercles); panelNord.add(new JLabel("Rayon des cercles")); panelNord.add(textRayonDesCercles); panelNord.add(bouton); panelNord.add(slider); slider.addChangeListener(this); bouton.addActionListener(this); add(panelNord, BorderLayout.NORTH); textNombreDeCercles.setText(""+20); textRayonDesCercles.setText(""+30); try { c = new CercleRandom(); add(c,BorderLayout.CENTER); } catch(Exception e) { } pack(); setVisible(true); } public void actionPerformed(ActionEvent e) { nombreDeCercles = Integer.parseInt(textNombreDeCercles.getText()); rayon = Integer.parseInt(textRayonDesCercles.getText()); listCercles.clear(); c.setVisible(false); this.remove(c); c = new CercleRandom(); add(c,BorderLayout.CENTER); c.setVisible(true); } public void stateChanged(ChangeEvent e) { repaint(); } class CercleRandom extends JPanel { public CercleRandom() { double x,y; boolean bool = false; setPreferredSize(new Dimension(700,700)); x = Math.random()*(700-2*rayon); y = Math.random()*(700-2*rayon); Ellipse2D.Float temp; boolean ok = false; listCercles.add(new Ellipse2D.Float((float)x,(float)y,2*rayon,2*rayon)); int attempt = 0; while ( listCercles.size()<nombreDeCercles && !bool) { x = Math.random()*(700-2*rayon); y = Math.random()*(700-2*rayon); temp = new Ellipse2D.Float((float)x,(float)y,2*rayon,2*rayon); for (int j=0; j< listCercles.size();j++) { if (!temp.intersects(listCercles.get(j).getBounds2D())) { ok = true; } else { ok = false; break; } } if (ok) listCercles.add(temp); if (attempt++>=10000) { JOptionPane.showMessageDialog(this,"Trop d'essais sans trouver de solutions, changez les parametres."); bool = true; } } } public void paintComponent(Graphics g) { Graphics2D g2 = (Graphics2D) g.create(); g2.setColor(Color.BLUE); g2.fillRect(0,0, 700, 700); g2.setColor(new Color(slider.getValue(),slider.getValue(),slider.getValue())); for (int i=0; i < nombreDeCercles;i++) { g2.fill(listCercles.get(i)); } } } }
voila merci comment on fait pour coder sur 32 bits ou 16 bits
sans passer par RGB
Pas très claire.
Coder en 32 bits des couleurs ? (donc une image a haute dynamique ce qui me semble pas ce que tu cherches en réalité a moins que cela ne soit du 24 (rgb)+8 bit d'alpha).
Sans passer par RGB ? Ma foie j'imagine que tu parles donc d'image grayscale.
Donc dans ce cas, code tes couleurs en 8 bits en créant une image grayscale (BufferedImage.TYPE_BYTE_GRAY)
Enfin comme dans le code il n'est pas question d'images ni rien, je ne comprends pas la question à mon avis.
32 bits que du gris pas d autre couleurs??
Tu peux faire l'effort d'essayer de te faire comprendre ou pas ?!Citation:
32 bits que du gris pas d autre couleurs??
sur le code ci dessus les cercles prennent des couleurs en RGB {setColor} maintenant je veux que ca ce soit en gris 32 bits
je sais pas si c'est clair ou pas
Bon comment dire en gros, si tu utilises le truc de base et que tu ne joues pas avec des colorspace spéciaux etc :
setColor il veux 3 composantes (Rouge, Vert, Bleu), chacune codées sur 8 bits.
Avec un éventuelle composante alpha de 8 bits. (pour la transparence).
Donc quoiqu'il arrive tu pourras lui donner une couleur 24 bit ou 32 bit.
Mais ton degradé de noir/gris/blanc au final sera sur 256 nuances (donc 8 bits).
Après je ne vois pas comment t'aider plus.
colorSpace ? alors on doit procéder comment ?
Bah tu utilises le dernier code de ludomacho et voila tu aurais tes nuances de gris sur 256 valeurs possible du noir au blanc. (avec la composante r=g=b).
Sinon pour le colorspace, a moins que tu n'en aies réelement besoin, ce dont je doute, tu peux toujours jetter un oeil a
http://docs.oracle.com/javase/1.4.2/...awt/Color.html
et
http://docs.oracle.com/javase/1.4.2/...olorSpace.html
oui j'en ai vraiment besoin de ca.
toujours rien
grayscale j' ai vu que c'est tres compliqué c pour un traitement d image que je cherche ca
j aimerai avoir des images qui contient des cercles non chevauché mais codé en 32 bits niveaux gris (grayscale)
pas de réponses!!!!
non, misterTwo, toujours pas...
:) je vois que je suis devenu célèbre!!!!
Pour les niveaux de gris, il a déjà été dit que c'est comme une couleur normale pour laquelle la composante rouge égale la composante bleue égale la composante verte. Si tu es arrivé à faire des couleurs, tu sauras faire des gris.
Moi je voudrais répondre au titre du sujet. Je rappelle que les équations paramétrique de l'ellipse sont:
x=R1.cos(t)
y=R2.sin(t)
Avec t, le paramètre, R1 et R2 les deux rayon de l'ellipse (l'oval comme tu appelles cela)
Ainsi tu peux éviter le chevauchement des ellipses.
oui merci pour ta réponse, pour le gris que je veux il faut que ca soit sur 32 bits grayscale? alors sur le code c'est du RGB 24 bits
Ce que tu demandes n'existe pas. Les meilleurs yeux voient 200 nuances sur une couleurs. Un octets (256 valeurs) est largement suffisant. Comme au fond de l'oeil, il y a 3 capteurs différent rouge vert bleu) on utilise 3 octets, soit 24 bits. Par dessus le marché, on peut ajouter un canal qui indique la transparence par un octet. Soit 4 octets, soit 32 bits.
Vouloir 4 milliards de gris, c'est juste une grosse blague. Il n'y en a que 256 (sans compter la transparence) et tes yeux ne verront pas la différence.
oui je suis d'accord avec toi je voulais au moins des images 16 bits en gris comme les images microscopiques car je veux les analyser avec des gaussiens
s'il y a quelqu'un qui peut m'aider a avoir des idées sur ce sujet
creation des images qui contient des cercles aléatoire (codé en 16 bits ou plus niveaux gris)que je peux enregistrer et choisir le nombre des cercles et leur rayon .
Est-ce que tu pourrais faire l'effort de comprendre qu'on a aucune idée de ce que tu appelles "16 bits niveau de gris" ?
Ça a été dit combien de fois, déjà, 5 ?