Graphics2D auf anderes Graphics2D übertragen

Status
Nicht offen für weitere Antworten.
C

Claude

Gast
Kann ich, wenn ich zwei Graphic2D-Objekte haben das eine aufs andere übertragen?

Ich will also dann alles was auf dem einen zu sehen ist aufs andere übertragen ist, so dass es ein Klon davon ist.
Das ist eignetlich nur nötig weil beim Druck ein Graphics2D übergeben wird, ich aber schon auf ein anderes gedruck habe und nun direkt dieses übernhemen will.
Leider gibts aber nur drawImage() und nicht drawGraphics() oder dergleichen.

irgendwie so wie das da sollte es dann aussehen:

Code:
class MyPrintable implements Printable  {
  public int print(Graphics g, PageFormat pf, int pageIndex) {
    g.drawGraphics(pages.get(pageIndex));
  }
}

Vielleicht hat mir auch jemand einen Tipp wie ich das sinnvoller anstellen kann mit dem Drucken. Ich will eine Printpreview anzeigen. Da muss ich jede Seite einzeln liefern können. Ich kann aber unmöglich wissen was auf welche Seite kommt da das alles dynamisch erstellt wird.
Nun hab ich einfach eine ArrayList (pages) mit Graphics2D Objekten gefüllt und dann beim Druck will die jeweils anwenden. Aber print() ist leider nicht so gemacht dass man einfach Graphics2D zurückgeben kann (bzw null wenn die Seite nicht existiert).
 
S

SlaterB

Gast
bedenke, dass ein Graphics-Objekt selber vielleicht leer ist, und nur IRGENDWOHIN zeichnet,
wenn dieses Irgendwo z.B. der Bildschirm ist, dann gibt es keine Möglichkeit an diese Daten wieder ranzukommen,
außer das Betriebssystem/ die Grafikkarte danach zu fragen,

sinnvoll ist vielleicht, zunächst auf ein Image zu zeichnen, dieses Image kannst du dann woanders wieder malen

bzw. die Frage: wo zeichnen die page-Graphics denn bisher hin,
wie erzeugst du diese Graphics?

sind aber nur wilde Spekulationen von mir, frag mich nicht nach Details ;)
 
C

Claude

Gast
Du hast vermutlich schon recht.
Das Graphics kommt vom Drucken. ich mache allerdings eine Kopie mit g2d.create().
An die Daten komme ich vermutlich wirklich nicht mehr ran. das Problem ist aberdass wenn ich auf ein BufferedImage zeichne ich nur 72 dpi habe. da kann man nichts mehr lesen.
aber wie macht man das denn beim Drucken? Ich muss doch erst mal alle Seiten drucken damit ich dann beim print die gewüschte Seite ausgeben kann. Und beim erstellen der Seiten muss ich bereits irgendwohin schreiben um das dann wieder auf die Seite zu zeichnen.

Oder sehe ich das flasch? Ich hab da noch nicht so den Durchblick wenn es ums Drucken geht.
 
S

SlaterB

Gast
ich weiß nicht genau was du meinst,
es gibt doch in allen Programmen sowas wie eine Druckvorschau,
wenn man zufrieden ist, dann druckt man, dann werden die Druckdaten aber neu erzeugt
 
C

Claude

Gast
Ich hab aber einen dynamischen Text. Wenn die Druckvorschau Seite 5 drucken will weiss ich nicht was da drauf soll. So müsste ich die Seiten 1,2,3 und 4 auch drucken. Das kanns ja wohl nicht sein. Der Druck ist nämlich relativ aufwendig.
Ich brauche ein Objekt das einmal alle Seiten druckt und zwischenspeichert um dann die einzelnen Seiten aus einem Cache abzurufen.
das geht wohl leider nur wenn ich den Druck erst auf ein Image speichere. Aber welche Auflösung verwende ich da? Die Lösung ist auch nicht gerade optimal.
 
G

Gast

Gast
ich hatte das Problem unterdessen gelöst aber das zecihen auf Bilder brauchte zu viel Speicehr und war zu langsam.

So hab ich das Problem folgendermassen umgangen:

1. Druck in ein PDF
2. PDF einlesen mit PDFDocument (aus acrobat.jar)
3. Seite auf Image zeichnen mit drawPage()
4. Image auf graphics zeichnen mit drawImage()

Funktioneirt recht gut, auch relativ schnell.
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
M Graphics2D Objekt mir der Maus erstellen Java Basics - Anfänger-Themen 5
K Zwei Fragen zu Graphics/Graphics2D Java Basics - Anfänger-Themen 5
Mr. Pink Graphics2D in anderer Methode aufrufen Java Basics - Anfänger-Themen 6
P Graphics2D Uhr refreshen Java Basics - Anfänger-Themen 2
B Erste Schritte Drehen in Graphics2d Java Basics - Anfänger-Themen 2
T Threads Thread & Graphics2D Java Basics - Anfänger-Themen 8
C Graphics2D - DrawRect - Warum Linien teilweise gefüllt? Java Basics - Anfänger-Themen 12
D Graphics2D (Welle darstellen) Java Basics - Anfänger-Themen 2
F Graphics2D nützlich für R³? Java Basics - Anfänger-Themen 11
K Graphics2D und BufferedImage Java Basics - Anfänger-Themen 3
P Graphics2D.drawString: Zahlen rechtsbündig ausrichten? Java Basics - Anfänger-Themen 2
Z Farbwechsel JButton mit Graphics2D Java Basics - Anfänger-Themen 7
T Anfänge mit Graphics2D Java Basics - Anfänger-Themen 15
X Kreize zeichnen in Graphics2D Java Basics - Anfänger-Themen 2
D Graphics2D.drawImage(Image, int, int, ?); Java Basics - Anfänger-Themen 2
Thomathy Interface Wie schließt man ein anderes JFrame Fenster? Java Basics - Anfänger-Themen 6
P Probleme mit JUnit-Tests, es kommt was anderes raus als bei manuellen Tests Java Basics - Anfänger-Themen 5
F Methode für Teilbarkeit durch 5 tut was anderes.... Java Basics - Anfänger-Themen 3
L Nur Bestimmte Werte aus einem Array in ein anderes Speichern Java Basics - Anfänger-Themen 11
B Enum innerhalb einer Klasse / anderes Konzept Java Basics - Anfänger-Themen 8
A JDK installieren Oracle JDK oder was anderes? Java Basics - Anfänger-Themen 6
R Vererbung werte von einem Objekt aus ein anderes übertragen Java Basics - Anfänger-Themen 7
B Mit Java anderes Java Programm starten Java Basics - Anfänger-Themen 3
M aus Fenster anderes Fenster öffnen und wieder umgekehrt Java Basics - Anfänger-Themen 5
I JFrame minimieren wenn anderes Programm minimiert wird Java Basics - Anfänger-Themen 1
E Anderes Programm ausführen Java Basics - Anfänger-Themen 8
L Erste Schritte Mal was anderes Java Basics - Anfänger-Themen 9
T TreeSet sortiert in ein anderes kopieren Java Basics - Anfänger-Themen 2
L Anderes Layout für JOptionPane? Java Basics - Anfänger-Themen 6
B Warum haben Java Programme ein anderes Design? Java Basics - Anfänger-Themen 5
D Array auslesen und und Werte in ein anderes array anlegen Java Basics - Anfänger-Themen 5
D Auf anderes Projekt zugreifen Java Basics - Anfänger-Themen 25
M Erste Schritte Anderes Projekt Migrieren Java Basics - Anfänger-Themen 2
M Enums, oder doch was anderes? Java Basics - Anfänger-Themen 7
V Objekt löschen wenn anderes gelöscht wurde Java Basics - Anfänger-Themen 11
M Rausfinden welches Objekt ein anderes Objekt erzeugt hat?! Java Basics - Anfänger-Themen 3
S BufferedReader liest was anderes als BufferedWriter schreibt Java Basics - Anfänger-Themen 5
B Casten oder vielleicht was anderes? Java Basics - Anfänger-Themen 9
Z Fokus auf anderes Programm setzen Java Basics - Anfänger-Themen 3
D Ein Objekt erzeugt ein anderes Objekt - Wie beide Objekte abspeichern? Java Basics - Anfänger-Themen 5
-horn- Anderes Programm (C,C++, etc) prüfen lassen, ob JAVA installiert ist und wo? Java Basics - Anfänger-Themen 5
A [gelöst]Aus der Klasse heraus auf ein anderes Objekt zugreifen Java Basics - Anfänger-Themen 4
F Anderes Programm beenden Java Basics - Anfänger-Themen 3
S Anderes Fenster schließen Java Basics - Anfänger-Themen 8
C Oberfläche & anderes Java Basics - Anfänger-Themen 6
C array in anderes kopieren ohne zu überschreiben . Java Basics - Anfänger-Themen 13
D Auf anderes Fenster Warten Java Basics - Anfänger-Themen 6
G Frame Applet oder doch was anderes Java Basics - Anfänger-Themen 2
G Was anderes als Scanner Java Basics - Anfänger-Themen 4
T Anderes Fenster öffnen, darin enthaltene Komponenten ändern Java Basics - Anfänger-Themen 2
G Aus Programm anderes Programm starten Java Basics - Anfänger-Themen 2
V Aus einem Lisener ein anderes Programm aufrufen (Übersichtli Java Basics - Anfänger-Themen 6
G Von einem JinternalFrame auf ein anderes zugreifen! Java Basics - Anfänger-Themen 18
W Hashtable oder was Anderes Java Basics - Anfänger-Themen 8
D Objekt-Variable an anderes Objekt übergeben Java Basics - Anfänger-Themen 9
B 2 d array in ein anderes 2 d array kopieren. ! Java Basics - Anfänger-Themen 8
I Frame schließen, wenn anderes geöffnet wird Java Basics - Anfänger-Themen 2
Dilandau array oder victor oder was ganz anderes? Java Basics - Anfänger-Themen 8

Ähnliche Java Themen

Neue Themen


Oben