# Grafik erstellen, drin zeichnen und dann speichern



## Daniel_L (7. Jun 2011)

Hallo,
vorweg meine Entschuldigung, weil ich nicht weiß, welches Unterforum das richtige ist. Außerdem vermute ich, dass es schon einige Themen zu dieser Frage gibt, aber ich finde nicht die richtigen Suchbegriffe.

Ich möchte gerne eine Grafik (jpg/png) in Java erstellen und darin rumzeichnen, sodass sie nachher etwa so aussieht...





...und dann diese Grafikdatei (jpg/png) speichern.

Aber ich weiß nicht, wie ich überhaupt ansetzen soll. Wie erstelle ich denn eine Grafik und kann dort einfach drin "rummalen"? Für weiterführende Links und Hinweise wäre ich sehr dankbar!

Gruß
Daniel


----------



## ARadauer (7. Jun 2011)

Du erstellst dir ein Buffered image, hohlst dir davon den Graphics Context, zeichnes darauf und speicherst es mit ImageIo...

so ungefähr



```
import java.awt.Graphics2D;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;

import javax.imageio.ImageIO;


public class PaintTest
{

    public static void main(String[] args) throws IOException
    {
        BufferedImage image = new BufferedImage(200, 100, BufferedImage.TYPE_INT_RGB);
        Graphics2D g =(Graphics2D) image.getGraphics();
        g.drawLine(10,10,50,50);
        g.drawLine(50,50,150,10);        
        ImageIO.write(image, "jpeg", new File("d:/test.jpg"));
    }
}
```


----------



## Daniel_L (7. Jun 2011)

Danke, das hilft mir schonmal weiter!
Mit drawString kriege ich dann auch den Text gesetzt, vermute ich mal.

Kann ich auch rausfinden, wie lang (in Pixeln) ein Wort, dass ich mit drawString gezeichnet habe, ist? Nehmen wir das Beispiel aus meinem Anfangsbeitrag: people, posts, programmes. Woher weiß ich, an welcher Position ich den ersten Querstrich mit drawLine setzen soll (x-pos)?

Nachtrag, falls es andere interessiert: Java Tips - How to find size of string drawn on a component

Hoffe es klappt, ich versuche es mal...


----------

