tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
2
ZUGRIFFE
812
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    flashray flashray ist offline Mitglied Rubin
    Registriert seit
    Sep 2005
    Ort
    Mannheim
    Beiträge
    1.325
    Hallo,

    wie kann man in Java statt drucken, den Ausdruck in eine Bilddatei umleiten?

    Der Sinn ist es Papier zu sparen, und das Ergebnis vor dem eigentlichen Drucken anhand der erstellten Grafikdatei überprüfen zu können.


    Vg Erdal
     

  2. #2
    Registriert seit
    Jun 2002
    Ort
    Saarbrücken (Saarland)
    Beiträge
    9.886
    Blog-Einträge
    29
    Hallo!

    Die einfachste Möglichkeit bestünde meiner Meinung nach darin einfach einen der zahlreichen frei verfügbaren PDF-Writer zu installieren und dann mit diesem "virtuellen" Drucker die Ausdrucke in ein PDF umzuleiten...

    Du könntest natürlich auch die Komponente in ein Image Zeichnen lassen und diese dann per ImageIO auf die Platte schreiben.
    Code java:
    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
    
    /**
     * 
     */
    package de.tutorials;
     
    import java.awt.BorderLayout;
    import java.awt.Dimension;
    import java.awt.Graphics;
    import java.awt.Point;
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;
    import java.awt.event.MouseEvent;
    import java.awt.event.MouseMotionAdapter;
    import java.awt.image.BufferedImage;
    import java.io.File;
    import java.io.IOException;
    import java.util.ArrayList;
    import java.util.List;
     
    import javax.imageio.ImageIO;
    import javax.swing.JButton;
    import javax.swing.JFrame;
    import javax.swing.JPanel;
     
    /**
     * @author Tom
     * 
     */
    public class PrintComponentToImageExample extends JFrame {
     
        JPanel panel = new JPanel() {
            List<Point> points = new ArrayList<Point>();
            {
                addMouseMotionListener(new MouseMotionAdapter() {
                    public void mouseDragged(MouseEvent e) {
                        points.add(e.getPoint());
                    }
                });
                setPreferredSize(new Dimension(640,480));
            }
     
            protected void paintComponent(Graphics g) {
                super.paintComponent(g);
                Point lastPoint = null;
                for (Point point : points) {
                    if (lastPoint != null) {
                        g.drawLine(lastPoint.x, lastPoint.y, point.x, point.y);
                    }
                    lastPoint = point;
                }
                this.repaint();
            }
        };
     
        JButton btn = new JButton("print to image");
     
        public PrintComponentToImageExample() {
            super("PrintComponentToImageExample");
            setDefaultCloseOperation(EXIT_ON_CLOSE);
     
            btn.addActionListener(new ActionListener() {
                public void actionPerformed(ActionEvent e) {
                    BufferedImage bufferedImage = new BufferedImage(panel
                            .getWidth(), panel.getHeight(),
                            BufferedImage.TYPE_INT_RGB);
                    panel.paint(bufferedImage.getGraphics());
                    try {
                        ImageIO
                                .write(bufferedImage, "JPEG",
                                        new File("c:/out.jpg"));
                    } catch (IOException e1) {
                        e1.printStackTrace();
                    }
                }
            });
     
            add(panel, BorderLayout.CENTER);
            add(btn, BorderLayout.SOUTH);
            pack();
            setVisible(true);
        }
     
        /**
         * @param args
         */
        public static void main(String[] args) {
            new PrintComponentToImageExample();
        }
    }


    Gruß Tom
     
    Java rocks!
    How to become a good Java Programmer?
    Does IT in Java and .Net
    The only valid measurement of code quality: WTFs / minute
    Blog
    Xing
    Twitter

  3. #3
    flashray flashray ist offline Mitglied Rubin
    Registriert seit
    Sep 2005
    Ort
    Mannheim
    Beiträge
    1.325
    Danke Tom,

    einfach nur 10 Punkte.


    Vg Erdal
     

Ähnliche Themen

  1. Preferences in Datei umleiten
    Von antimon im Forum Java Grundlagen
    Antworten: 5
    Letzter Beitrag: 01.09.10, 20:50
  2. stderr in Datei umleiten?
    Von Jens Hibbeler im Forum C/C++
    Antworten: 2
    Letzter Beitrag: 28.12.05, 10:59
  3. Exception in Datei umleiten
    Von mcbass im Forum Java
    Antworten: 4
    Letzter Beitrag: 17.02.05, 17:02
  4. Browserausgabe in Datei umleiten
    Von jenno im Forum PHP
    Antworten: 2
    Letzter Beitrag: 03.02.04, 15:49
  5. [MS-DOS] Ausgabe in Datei umleiten
    Von JanDelay im Forum Microsoft Windows
    Antworten: 4
    Letzter Beitrag: 16.10.03, 23:53