# Icon strecken / zerren



## blaues_etwas (30. Dez 2007)

Ich hab ein ImageIcon von den Ausmaßen 50x50 möchte aber dieses Icon einem Label mit den Ausmaßen 150x30 zuweisen. Gibt es eine Möglichkeit das Icon in die gewünschte Größe zu strecken? Die *.gif Datei möchte ich nicht ändern.

mfg blaues_etwas


----------



## Coder21 (30. Dez 2007)

Müsste das nicht mit setSize(int a, int b) funktionieren?
Bin mir jetzt aber nicht sicher.


----------



## blaues_etwas (30. Dez 2007)

wenn ich das Label mit setSize() strecke, zentriert sich das Icon in der Mitte mit den gleichen Ausmaßen.


----------



## anfänger15 (30. Dez 2007)

die größe ändern bringt nichts.

Du kannst aber mit der Klasse Image dein Icon skalieren.

Image.getScaledInstance(int width, int height, int hints);

davon rate ich dir aber ab, denn dies verursacht nur unnötige rechenzeit und außerdem kann das ein spezielles Grafikprogramm viel besser. Ich rate dir die Icons in der größe in der du sie brauchst abzuspeichern.


----------



## blaues_etwas (30. Dez 2007)

Icon wird nur in 50x50 benötigt, nur einmal eben nicht, deswegen werd ich mir aber kein neues Icon zulegen.

Danke für eure Antworten
greetz blaues_etwas


----------



## anfänger15 (30. Dez 2007)

Das ist deine Entscheidung im allgemeinen würde ich dir aber eher empfehlen das Icon einmal mit einer anderen Größe abzuspeichern, denn ein Icon benötigt relativ wenig Speicherplatz und der Rechenaufwand dieses jedesmal neu zu skalieren ist wesentlich größer.


----------



## Gast2 (30. Dez 2007)

```
public static Image skalieren(Image img, int width, int height){ 
                BufferedImage bi = new BufferedImage(width,height,BufferedImage.TYPE_INT_ARGB); 
	    Graphics g = bi.getGraphics(); 
	    g.drawImage(img,0,0,width,height,null); 
	    return bi; 
	}
```


du kannst mit imageicon.getImage() bekommst du das image und mit new ImageIcon(image) kannst es wieder zurück geben lassen


----------

