Image drucken

Status
Nicht offen für weitere Antworten.
G

Guest

Gast
Hallo zusammen,

ich erstelle aus einem JPanel ein Image zum drucken.
Das Panel ist schon größer als eine DinA4 Seite, also skaliere ich das Image auf die Seitengröße.

Das Problem ist jetzt das die Schrift dadurch sehr unscharf wird. gibt es eine Möglichkeit das ganze noch schärfer zu machen?
 

The_S

Top Contributor
Kommt auf den skalier-Algorithmus an, würde ich mal sagen. Oder die Schrift (soweit möglich) erst nach dem Skalieren einfügen ...
 
G

Guest

Gast
nacher einfügen geht leider nicht.
handelt sich dabei um ein diagramm und das sind die achsbeschriftungen und die werden gelich mitgezeichnet, da sonst die zuordnung nicht mehr passen würde.
 
G

Guest

Gast
Hab ich auch schon probiert.
Von 14 - 48..
Schmiert alles.
Liegt wohl an den 72DPI.
 
G

Guest

Gast
Code:
double dblScaleX = pageFormat.getImageableWidth()/objDruckvorlage.getSize().width;
        double dblScaleY = pageFormat.getImageableHeight()/objDruckvorlage.getSize().height;
        g2d.scale(dblScaleX, dblScaleY);
so skaliere ich das JPanel auf das pageFormat
 

The_S

Top Contributor
Wenn du über die Klasse Image (getScaledInstance) anstatt Graphics2D skalieren würdest, könntest du den Skalier-Algorithmus beeinflussen und testen, welcher für dich das beste Ergebnis liefert.
 
G

Guest

Gast
Ich werds mal damit versuchen.
Vielen Dank erstmal für deine Hilfe.
 
G

Guest

Gast
Hallo,

habs mit der Skalierung aus Image probiert, bekomme aber immer nur ein weißes Blatt.

Code:
BufferedImage img2 = new BufferedImage(objDruckvorlage.getWidth(),objDruckvorlage.getHeigh
(),BufferedImage.TYPE_INT_RGB);

g2 = img2.createGraphics();
objDruckvorlage.paint(g2);
g2.dispose();

Image scaled = img2.getScaledInstance((int)pageFormat.getWidth(), (int)pageFormat.getHeight(), Image.SCALE_SMOOTH );

BufferedImage imgNeu = new BufferedImage((int)pageFormat.getWidth(),(int)pageFormat.getHeight(),BufferedImage.TYPE_INT_ARGB);

g2 = imgNeu.createGraphics();
g2.drawImage(scaled,0,0, this);
g2.dispose();

g2d.drawImage(imgNeu, (int)pageFormat.getImageableWidth(), (int)pageFormat.getImageableHeight(),this);
 

The_S

Top Contributor
arbeitet objDruckvorlage.paint korrekt?

Was liefert "pageFormat.getImageableWidth()" bzw. "pageFormat.getImageableHeight()" zurück?
 
G

Guest

Gast
paint methode arbeitet korrekt.
hab das image vor dem skalieren probehalber ausgegeben und da ist alles in ordnung.

pageFormat.height = 595.2755737304688;
pageFormat.width = 841.8897705078125;
 

The_S

Top Contributor
Dann wird das Bild evtl. außerhalb deines Darstellungsbereichs gezeichnet? Weil 595 und 841 ist schon arg weit unten links ...
 
G

Guest

Gast
eigentlich müsste es aber passen.

hole mir ja bevor ich zeiche über
Code:
g2d.translate(pageFormat.getImageableX(), pageFormat.getImageableY());
die startkoordinaten.
 
G

Guest

Gast
hab gerade mal das skalierte Bild als jpg abgespeichert.
das bild wird erstellt, aber das ganze sieht aus wie n negativ.
 

The_S

Top Contributor
Zu deinem 1. Post: Poste doch bitte trotzdem mal das "objDruckvorlage.paint"
Zu deinem 2. Post: Liegt wohl doch an den Koordinaten!?
 
G

Guest

Gast
Hab den Fehler gefunden.
Lag nicht an der Paint Methode, sondern das ich falsche Variablen benutzt hatte um das Bild zu skalieren.
 
G

Guest

Gast
Hab den Fehler gefunden.
Lag nicht an der Paint Methode, sondern das ich falsche Variablen benutzt hatte um das Bild zu skalieren.
Vielen Dank nochmal für deine Hilfe.
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
Stillmatic1985 Buffered Image drucken Spiele- und Multimedia-Programmierung 1
P Grosses Bufferd Image Drucken Print API Spiele- und Multimedia-Programmierung 3
T Position eines Image verändern mithilfe eines Timers Spiele- und Multimedia-Programmierung 6
K Video: Per Image Information Spiele- und Multimedia-Programmierung 3
M Image unpainten Spiele- und Multimedia-Programmierung 3
B Bild ohne Image auf die Festplatte streamen Spiele- und Multimedia-Programmierung 4
X Android Slick AE Image Pfad Spiele- und Multimedia-Programmierung 3
A Drehen von einem Image Spiele- und Multimedia-Programmierung 4
C Mouseover Area genau wie Image Spiele- und Multimedia-Programmierung 8
L Slick-Image aus byte-array erzeugen Spiele- und Multimedia-Programmierung 2
0 2D Spiel Welt scrollen bzw Image erweitern Spiele- und Multimedia-Programmierung 2
T jME3: awt.Image <-> jME3.Image Spiele- und Multimedia-Programmierung 7
F nur Ausschnitt eines Image zeichnen Spiele- und Multimedia-Programmierung 9
F Hintergrund bei Image entfernen Spiele- und Multimedia-Programmierung 4
S Image-Einbindung Spiele- und Multimedia-Programmierung 5
StrikeTom .gif animation als image abspielen Spiele- und Multimedia-Programmierung 2
T Glüh effekt um Image Spiele- und Multimedia-Programmierung 9
radiac Aktuelles ScreenBild als Image? Spiele- und Multimedia-Programmierung 6
P Culling von Image-Objekten Spiele- und Multimedia-Programmierung 3
E Alternative zu import com.sun.image.codec.jpeg.JPEGCodec ? Spiele- und Multimedia-Programmierung 1
E JPCT background image Spiele- und Multimedia-Programmierung 3
S Image will nicht laden Spiele- und Multimedia-Programmierung 3
A Image in BufferedImage konvertieren Spiele- und Multimedia-Programmierung 2
O Image dynamisch erstellen. Spiele- und Multimedia-Programmierung 6
G Punkt in Image auf Transparenz prüfen Spiele- und Multimedia-Programmierung 6
G Bereich im Image löschen Spiele- und Multimedia-Programmierung 4
H image.setRGB() zeichnet falsch Spiele- und Multimedia-Programmierung 3
R Transparente Farbe von (Buffered) Image Spiele- und Multimedia-Programmierung 10
D Welcher Image Typ am besten für 2D-Spiele geeignet? Spiele- und Multimedia-Programmierung 5
O Image konvertieren in monochrom scharz/weiß Spiele- und Multimedia-Programmierung 3
F Image eines bestimmten Bereichs eines JPanels erstellen Spiele- und Multimedia-Programmierung 4
T Spiel als Vollbild starten mit Image als HIntergrund Spiele- und Multimedia-Programmierung 8
O transparente farbe in Image mit Graphics Spiele- und Multimedia-Programmierung 8
S Image to BufferedImage Spiele- und Multimedia-Programmierung 3
D Image.getGraphics() in einem Frame Spiele- und Multimedia-Programmierung 4
kodela Drucken von schwarzen Zellen mit weißer Zahl Spiele- und Multimedia-Programmierung 2
G Grafiken mit Java im richtigen Format drucken Spiele- und Multimedia-Programmierung 3
K Java3D Szene drucken Spiele- und Multimedia-Programmierung 4

Ähnliche Java Themen

Neue Themen


Oben