online 1
gast (50)

/ Forum / Anwendungen(Java,C++...)

Anwendungen(Java,C++...)Anwendungen(Java,C++...)

Fragevon Gregor2007 vom 26.08.2019, 11:17 Options

Grafiken mit Java im richtigen Format drucken

Hallo Leute

Java verwendet beim Drucken das Raster 1/72-Inch (0,353mm). Druckt man damit eine Grafik aus, so verwendet Java dieses Raster entsprechend der Pixelauflösung der Grafik. Dadurch werden die Grafiken größer ausgedruckt, da sie meistens eine feinere Auflösung haben, z.B. 200 dpi anstelle von 72 dpi.

Kann mir jemand schreiben (eventuell mit Codezeilen), wie man dieses Problem behebt?

Gregor


Antwort schreiben

Antwort 1 von Gregor2007 vom 01.09.2019, 22:23 Options

Hallo

Eine perfekte Lösung zum Drucken von Grafiken mit unterschiedlichen DPI-Auflösungen auf einer Seite habe ich bis jetzt noch nicht gefunden, dafür aber einen brauchbaren "Work-around". Er basiert auf Andre's Link und der Skalierung von Schriften:

Alle zu druckenden Grafiken neu aufbauen (Resampling in einem Grafikprogramm), wobei am einfachsten ein ganzzahliges Vielfaches von 72 dpi gewählt wird. Ich habe 288 dpi = 4x72 dpi genommen.

In der Methode print(Graphics g, ... ):

Graphics2D g2 = (Graphics2D) g; // Cast auf Graphics2D anwenden
g2.scale(1.0/SCALE, 1.0/SCALE); // Auflösung vergrößern, bei mir ist SCALE = 4
... // Eine Grafik als BufferedImage laden
g2.drawImage(image, null, x1, y1); // Die Grafik ausdrucken
...
g2.setFont(new Font(TYPE, STYLE, SIZE*SCALE)); // Font mit skalierter Zeichengröße
g2.drawString(zeile, x2, y2); // Skalierten Text ausdrucken

Viele Grüße

Ähnliche Themen

iceweasel / firefox: java installation
Sichtbarer  12.06.2007 - 220 Hits - 5 Antworten

Wie bleiben Grafiken in Dokumenten (Word 2000 ) fest verankert?
KlimaRudi  20.10.2007 - 146 Hits - 2 Antworten

Hinweis

Diese Frage ist schon etwas älter, Sie können daher nicht mehr auf sie antworten. Sollte Ihre Frage noch nicht gelöst sein, stellen Sie einfach eine neue Frage im Forum..

Neue Einträge

Version: supportware 1.9.150 / 10.06.2022, Startzeit:Mon Jan 26 01:23:17 2026