Graphics2d drawString mit double Werten?

b1zarRe

Bekanntes Mitglied
Hi, ich habe folgendes Problem:

Ich habe ein Diagramm gezeichnet mit Graphics2d und zwar so, dass es bei jeder Fenstergröße prozentual ist. Deswgeen habe ich beim zeichnen mit double gearbeitet. Nun möchte ich unter
verschiedenenen Kästchen im Diagramm einen Text setzen, jedoch möchte diese Methode nur
int Werte für x und y akzeptieren... jedoch ist ein Cast zu int viel zu ungenau und verstetzt
meine Schrift....

Was kann ich tun? Gibt es eine andere Methode die auch double Werte akzeptiert oder muss ich das Diagramm nochmal mit int Werten malen?? Math.Round(); hat mir bei dem Vorhaben leider nicht geholfen :/
 
S

SlaterB

Gast
wie kann auf einem Pixelbildschirm int statt double zu ungenau sein?
entweder die Linie oder der Text beginnt bei Pixel 75 oder bei 76, dazwischen gibts es nichts, wie soll das denn aussehen,
hast du fertige Bilder die das zeigen könnten?

im einfachen Graphics2d musst du dich an gewisse Grenzen halten,
mit Graustufen irgendwas andeuten ist wohl nicht drin
 

b1zarRe

Bekanntes Mitglied
Hier zum Beispiel: http://www8.pic-upload.de/01.11.11/4fltyk8dgog.jpg
Ich berechne zb eine Jahreszahl. und die Breite eines Jahres ist in double(so gemacht, da veränderlich)... das einzige Problem ist nun, die Zahlen exakt unter die passende Linie zu setzen...

Ich würds gern so in der Art machen : breiteEinesJahres * posiJahr;
PosiJahr wäre halt für 2004 zb.: 2004 - 2001 = 3. An 3. Stelle also... da ist aber halt (int)(3 * breiteEinesJahres);
zu ungenau :/
 
S

SlaterB

Gast
ich kann dein Problem in diesen Fall nicht nachvollziehen, vielleicht kannst du es genauer beschreiben

wenn breiteEinesJahres = 50,3 ist und die erste Linie bei 20 anfängt, wo soll dann die zweite sein, bei 70 oder 71?,
du musst dich schon entscheiden, es gibt keine Komma-Pixel,
dass irgendwann durch das Runden mal ein Jahr ein Pixel breiter ist als das vorherige,
oder das gerundet(Jahr) * 3 was anderes ergibt als gerundet(3*Jahr) ist selbstverständlich, so ist die Mathematik
(*)

genauso dann wenn du meinetwegen einen einzelnen Wert vom Mai einmalen willst und 0.4 * breiteEinesJahres = 20,12 berechnest,
dann musst du bei Pixel 20 oder 21 malen?

ich sehe nichts neues zum vorherigen, dein Beispiel klingt so als könnte irgendwas interessantes dran sein,
aber für mich nicht zu erkennen


(*)
ich empfehle dir generell eine eigene halbwegs intelligente Umrechnung,
die z.B. dynamisch aus vorhandenen Platz und benötigter Anzahl eine sinnvolle gerade Pixelbreite für ein Jahr bestimmt,
auch wenn dann am rechten Rand paar Pixel frei bleiben,
statt 50,3 also genau 50 Pixel pro Jahr, aber pro Monat/ Tag hat man dann natürlich immer noch Probleme
 
Zuletzt bearbeitet von einem Moderator:

Marco13

Top Contributor
wie kann auf einem Pixelbildschirm int statt double zu ungenau sein?
entweder die Linie oder der Text beginnt bei Pixel 75 oder bei 76, dazwischen gibts es nichts, wie soll das denn aussehen,

Das hast du schonmal behauptet - und ich habe schonmal drauf hingewiesen, dass sowas wie g.draw(einShapeMitDoubleKoordinaten) spätestens bei eingeschaltetem Antialiasing schon einen Unterschied zwischen 75.1 und 75.9 macht. Bei drawString gibt's diese Option nicht direkt, aber ... irgendwie hab' ich das eigentliche Problem wohl auch noch nicht ganz verstanden...
 
S

SlaterB

Gast
darauf bezog sich ja noch 'mit Graustufen irgendwas andeuten ist wohl nicht drin',
aber das Bild sieht doch zumindest in diesem Fall nach ganz klaren Pixeln aus
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
M Graphics2D: drawString Berechnung AWT, Swing, JavaFX & SWT 1
U Was ist ein Shape, also klar ein Objekt, aber was ist damit gemeint (Graphics2d)? Und was sidn affinetransformationen AWT, Swing, JavaFX & SWT 1
L Graphics2d zoomen AWT, Swing, JavaFX & SWT 3
L AWT graphics2d transform AWT, Swing, JavaFX & SWT 7
M Schnittpunkte zwischen zwei Graphics2D Elemente ermitteln. AWT, Swing, JavaFX & SWT 5
Soloeco Graphics2D - Verbinden zweier Punkte AWT, Swing, JavaFX & SWT 6
B Graphics -> Graphics2D etwas zu beachten? AWT, Swing, JavaFX & SWT 8
D AWT Graphics2D getClip gibt null zurück AWT, Swing, JavaFX & SWT 3
B Graphics2D Componente Drehen AWT, Swing, JavaFX & SWT 2
X AWT Graphics2D zum LWJGL Display hinzufügen aber wie? AWT, Swing, JavaFX & SWT 4
D Graphics2D einen Bereich füllen AWT, Swing, JavaFX & SWT 1
M JPanel und Graphics2D AWT, Swing, JavaFX & SWT 2
S Java2D/Graphics2D in Android..? AWT, Swing, JavaFX & SWT 2
S Graphics2D: Transparent übereinander zeichnen AWT, Swing, JavaFX & SWT 7
S Graphics2D - setClip() AWT, Swing, JavaFX & SWT 2
J 2D-Grafik Graphics2D object in ein anderes Zeichnen AWT, Swing, JavaFX & SWT 7
S AWT Pong - Probleme mit übergreifenden Objekten && Graphics2D AWT, Swing, JavaFX & SWT 3
C Image mit Graphics2D zeichnen AWT, Swing, JavaFX & SWT 9
S Frage zu Graphics2D AWT, Swing, JavaFX & SWT 3
Developer_X Swing Auf ein BufferedImage mit Graphics/Graphics2D zeichnen AWT, Swing, JavaFX & SWT 6
N AWT Graphics2D mehrmals aufrufen AWT, Swing, JavaFX & SWT 5
Developer_X Swing Graphics2D.zoom, wie rückgängig machen? AWT, Swing, JavaFX & SWT 6
Developer_X Swing Graphics2D translate zerstört performance AWT, Swing, JavaFX & SWT 2
N graphics2d auf panel AWT, Swing, JavaFX & SWT 2
Dit_ Ein Kreis als Graphics2D oder als Ellipse2D Objekt AWT, Swing, JavaFX & SWT 19
0 AWT Graphics2D.drawImage() funktioniert nicht mehr korrekt mit Core i7 AWT, Swing, JavaFX & SWT 4
A Swing LAF unter Windows: javax.swing.DebugGraphics cannot be cast to java.awt.Graphics2D AWT, Swing, JavaFX & SWT 5
A Swing Mit Graphics2D auf transparentem Hintergrund zeichnen AWT, Swing, JavaFX & SWT 7
E Graphics2D: altes Objekt löschen, wenn repaint aufgerufen wird AWT, Swing, JavaFX & SWT 7
D BufferedImage und Graphics2D AWT, Swing, JavaFX & SWT 3
cowabunga1984 Implementierung von Graphics2D AWT, Swing, JavaFX & SWT 2
C Graphics2D, Text abschneiden AWT, Swing, JavaFX & SWT 2
N Graphics2D mit unterschiedlichen Grauwerten befüllen AWT, Swing, JavaFX & SWT 3
F Graphics2D scale und Positionierung einer TextArea AWT, Swing, JavaFX & SWT 8
F JPanel: Graphics2D, scale und Mauskoordinaten AWT, Swing, JavaFX & SWT 4
P paintComponent /paint/ update/ offscreenImage / Graphics2D / AWT, Swing, JavaFX & SWT 4
M Graphics2D - abstract void draw(.) AWT, Swing, JavaFX & SWT 2
redztripe Graphics2D rotieren und rotiertes Bild abspeichern AWT, Swing, JavaFX & SWT 2
R AffinrTransform + Graphics2D verschieben AWT, Swing, JavaFX & SWT 3
R Graphics2D + Bild anzeigen. AWT, Swing, JavaFX & SWT 25
M Probleme mit Graphics2D AWT, Swing, JavaFX & SWT 7
C SWT autosize bei gc.drawString() auf einem Label AWT, Swing, JavaFX & SWT 7
X AWT Text der mit Graphics "drawString(...)" geschreiben wurde wieder löschen. AWT, Swing, JavaFX & SWT 6
M JFrame Graphics.drawString Problem AWT, Swing, JavaFX & SWT 11
P drawString in einem Rectangle AWT, Swing, JavaFX & SWT 4
Luk10 g.drawString funktioniert nicht + Frage zur Text-Rendering Qualität AWT, Swing, JavaFX & SWT 7
C drawString wird beim starten des Programmes nicht ausgeführt AWT, Swing, JavaFX & SWT 3
K Java DrawString zentriert und mehrzeilig AWT, Swing, JavaFX & SWT 8
R AWT drawString - Ausmaße AWT, Swing, JavaFX & SWT 4
F Browser drawString AWT, Swing, JavaFX & SWT 4
J 2D-Grafik Html in drawString() AWT, Swing, JavaFX & SWT 2
A Formatierten String ausgeben (drawString) AWT, Swing, JavaFX & SWT 5
Zettelkasten drawString() Zeilenumbruch AWT, Swing, JavaFX & SWT 2
M breite eines "drawString()-Strings" AWT, Swing, JavaFX & SWT 2
T 2D-Grafik Blocksatz mit drawString() AWT, Swing, JavaFX & SWT 5
F AWT Probleme mit drawString() AWT, Swing, JavaFX & SWT 5
S drawString für HTML-Text? AWT, Swing, JavaFX & SWT 7
R drawString mit double Koordinaten AWT, Swing, JavaFX & SWT 5
D AWT drawString funktioniert nicht unter Linux AWT, Swing, JavaFX & SWT 7
G [gelöst] "Größe" von drawString AWT, Swing, JavaFX & SWT 4
spross line break bei drawString() mit LineBreakMeasurer? AWT, Swing, JavaFX & SWT 4
MasterEvil HTML formatierten Text mit drawString ? AWT, Swing, JavaFX & SWT 3
A Zentrieren von drawstring() in einem fillRect() AWT, Swing, JavaFX & SWT 3
m@nu Graphics: Per drawString() Text vertikal zentriert zeichnen AWT, Swing, JavaFX & SWT 5
T drawString AWT, Swing, JavaFX & SWT 9
CptK Point2D.Double Kurven - Beschriftung und richtiges Anklicken AWT, Swing, JavaFX & SWT 7
CptK Wie funktioniert contains() für Path2D.Double AWT, Swing, JavaFX & SWT 10
B AWT GUI nimmt nur 19 Ziffern an, obwohl Max Wert von Double größer ist AWT, Swing, JavaFX & SWT 7
T Swing Double Click bei Buttons in JTable AWT, Swing, JavaFX & SWT 9
L 2D-Grafik Frage zu Ellipse2D.Double, Abfrage, ob Punkt enthalten ist funktioniert nicht AWT, Swing, JavaFX & SWT 3
S Polygon mit double-Koordinaten AWT, Swing, JavaFX & SWT 2
N Double Buffern von BILDERN AWT, Swing, JavaFX & SWT 6
V Applet Double Buffering AWT, Swing, JavaFX & SWT 2
O 2D-Grafik Rectangle mit double Werten zeichnen AWT, Swing, JavaFX & SWT 3
T 2D-Grafik Double Buffering AWT, Swing, JavaFX & SWT 7
lumo SWT Double Buffering AWT, Swing, JavaFX & SWT 5
M Object[][] in double[][] casten AWT, Swing, JavaFX & SWT 6
A aus einem Textfeld in double parsen AWT, Swing, JavaFX & SWT 10
K Flackern trotz Double-Buffering AWT, Swing, JavaFX & SWT 10
J JSlider mit Double Werten AWT, Swing, JavaFX & SWT 5
T JTextField nur Double werte eingeben AWT, Swing, JavaFX & SWT 2
A Explicit casting Point2D.Double AWT, Swing, JavaFX & SWT 3
A TableRowSorter für double Werte mit Formatierung AWT, Swing, JavaFX & SWT 3
iLoveTheInternet AWT Rectangle2D.Double intersecs AWT, Swing, JavaFX & SWT 6
hdi Wie implementiere ich Double Buffering AWT, Swing, JavaFX & SWT 12
L JTextField Umwandeln in double-Werte AWT, Swing, JavaFX & SWT 5
K double / int einlesen? AWT, Swing, JavaFX & SWT 12
G Frage zu Double Buffering AWT, Swing, JavaFX & SWT 4
L double in JTable formatieren AWT, Swing, JavaFX & SWT 7
P Integer, Double, etc mit getTableCellRendererComponent AWT, Swing, JavaFX & SWT 6
P Double-Werte sortieren mit TableRowSorter AWT, Swing, JavaFX & SWT 2
U Double Buffering AWT, Swing, JavaFX & SWT 6
B JFormattedTextField mit DecimalFormat in ein Double AWT, Swing, JavaFX & SWT 11
J Double-Buffering zu langsam AWT, Swing, JavaFX & SWT 4
S double in String umwandeln AWT, Swing, JavaFX & SWT 6
L Double-Buffering AWT, Swing, JavaFX & SWT 2
R Double in der Tabelle statt String und Integer AWT, Swing, JavaFX & SWT 3
Student "Dicke" einer Linie - Line2D.Double AWT, Swing, JavaFX & SWT 12
G Double-Click f. alle Komps UNIX u. WIN verschieden ? AWT, Swing, JavaFX & SWT 5
D double Buffering abschalten? AWT, Swing, JavaFX & SWT 4

Ähnliche Java Themen

Neue Themen


Oben