krizzelfix
Commander
- Registriert
- Sep. 2005
- Beiträge
- 2.626
Hallo User,
habe mal wieder ein Problem mit Java und Bildern.
Diesmal will ich die größe eines Bildes verändern und als Thumbnail speichern.
Habe es erst über die Graphics Klasse probiert.
Das hat aber überhaupt nicht geklappt.
Dann habe ich es mit Image.getSacaledInstance probiert, mit genau so viel erfolg.
Und so rufe ich das ganze auf:
Kann mir jemand sagen was ich falsch mache?
Oder welchen Lösungsansatz ich verfolgen sollte?
Grüße
tewes
habe mal wieder ein Problem mit Java und Bildern.
Diesmal will ich die größe eines Bildes verändern und als Thumbnail speichern.
Habe es erst über die Graphics Klasse probiert.
Code:
try{
Graphics g = pic.createGraphics();
int height, width;
if (pic.getWidth() > pic.getHeight()) {
height = size;
width = pic.getHeight() / pic.getWidth() * size;
}
else {
width = size;
height = pic.getWidth() / pic.getHeight() * size;
}
g.drawImage(pic, 0, 0, width, height, null);
g.dispose();
return pic;
}
Dann habe ich es mit Image.getSacaledInstance probiert, mit genau so viel erfolg.
Code:
try{
int height, width;
if (pic.getWidth() > pic.getHeight()) {
height = size;
width = pic.getHeight() / pic.getWidth() * size;
}
else {
width = size;
height = pic.getWidth() / pic.getHeight() * size;
}
Image thumb = pic.getScaledInstance(width, height, Image.SCALE_AREA_AVERAGING);
return thumb;
}
Code:
for(int i = 0; i < files.length; i++)
{
BufferedImage tmpImg = ImageIO.read(files[i]);
Picture Beschriften = new Picture(tmpImg);
Beschriften.CreatThumb(640);
Beschriften.WriteText(jTextField3.getText());
if (!Beschriften.SaveImage(targetDir+"/"+files[i].getName().toString()))
{
errors++;
}
Picture Thumb = new Picture(tmpImg);
Thumb.CreatThumb(160);
if (!Thumb.SaveImage(thumbDir+"/"+files[i].getName().toString()))
{
errors++;
}
}
Oder welchen Lösungsansatz ich verfolgen sollte?
Grüße
tewes