# linie in bild zeichnen



## -patrick- (23. Aug 2007)

hallo zusammen,

ich lade ein jpeg bild, erstelle eine ScaledInstance davon und stelle es in einem JLabel dar. Nun möchte ich nachträglich eine Linie in dieses zeichnen um anzuzeigen wo ein Zuschnitt erfolgt. 
Kann mir einer erklären wie ich das am besten umsetze?

hab mir ne Methode geschrieben, nur so scheint es so überhaupt nicht zu gehn.

```
static void drawLineInPreview(Image image,int x1, int y1, int x2, int y2){
		
		BufferedImage bimage = new BufferedImage(image.getWidth(null), image.getHeight(null),BufferedImage.TYPE_INT_RGB);
		Graphics g = bimage.getGraphics();
		g.setColor(Color.yellow);
		g.drawLine(x1, y1, x2, y2);
		
		System.out.println(g.drawImage(image, 0, 0, null));
		MyWindow.picLabel.setIcon(new ImageIcon(image));
	}
```
1. weiss ich nicht ob die linie so überhaupt in image geschrieben wird und 2. warum mir g.drawImage immer false zurückgibt.

Dank im vorraus
patrick


----------



## kaie (24. Aug 2007)

Ändere einfach die Zeichenreihenfolge:

```
static void drawLineInPreview(Image image,int x1, int y1, int x2, int y2){        
      BufferedImage bimage = new BufferedImage(image.getWidth(null), image.getHeight(null),BufferedImage.TYPE_INT_RGB); 
      Graphics g = bimage.getGraphics(); 
      g.drawImage(image, 0, 0, null);
      g.setColor(Color.yellow); 
      g.drawLine(x1, y1, x2, y2);
      MyWindow.picLabel.setIcon(new ImageIcon(image)); 
}
```


----------



## -patrick- (25. Aug 2007)

hi,

danke, da hatte ich einen Denkfehler. 
Auch in der Letzten Zeile war ein Fehler. Es muss natürlich bimage übergeben werden.

```
MyWindow.picLabel.setIcon(new ImageIcon(bimage));
```

merci
patrick


----------

