Eder_Peixoto
A classe Graphics possui métodos que redimensionam imagens.
denisspitfire
Não manjo muito de Graphics…
Porém achei algo que pode ajuadar!
private Image createThumbnail(Image image)
{
int sourceWidth = image.getWidth();
int sourceHeight = image.getHeight();
int thumbWidth = 64;
int thumbHeight = -1;
if (thumbHeight == -1)
thumbHeight = thumbWidth * sourceHeight / sourceWidth;
Image thumb = Image.createImage(thumbWidth, thumbHeight);
Graphics g = thumb.getGraphics();
for (int y = 0; y < thumbHeight; y++)
{
for (int x = 0; x < thumbWidth; x++)
{
g.setClip(x, y, 1, 1);
int dx = x * sourceWidth / thumbWidth;
int dy = y * sourceHeight / thumbHeight;
g.drawImage(image, x - dx, y - dy, Graphics.LEFT | Graphics.TOP);
}
}
Image immutableThumb = Image.createImage(thumb);
return immutableThumb;
}
ViniGodoy
Dê uma olhada no JImagePanel, do projeto Towel (link na minha assinatura).
Ele faz redimensionamento automático. E você ainda pode escolher se quer lado-a-lado, centralizado ou esticado, como o desktop do Windows.