2011-05-02 176 views
0

我正在进行图像处理。我有一个固定大小的缓冲图像从其他缓存图像加载缓存图像

BufferedImage targetImage = new BufferedImage(320, 240,BufferedImage.TYPE_INT_RGB); 

可以说原始缓冲图像的大小为180乘240。

现在我想加载原始图像(180X240)到目标图像(320X240)或以某种方式将scaledImage宽度和高度更改为320 240将底部有白色填充。

在此先感谢。

+0

所以,你只是想缩小图像,而缩放呢?本教程介绍了如何做到这一点:[绘制图像](http://download.oracle.com/javase/tutorial/2d/images/drawimage.html) – Jesper 2011-05-02 14:14:36

回答

4

你应该能“画”源图像到目标图像,即

targetImage.getGraphics().drawImage(sourceImage, 0, 0, 
    Math.min(targetImage.getWidth(), sourceImage.getWidth()), 
    Math.min(targetImage.getHeight(), sourceImage.getHeight()), 
    null); 

请注意,增加180x240320x240将意味着你要么扭曲的形象,降低图像的一部分在顶部/底部或者向左/右(而不是顶部/底部)具有一些“空的”区域。

+0

我只需要将图像绘制为原始大小,然后将其填充如果图像较小,则向右或向下移动。所以在这种情况下,它不会被扭曲。 – 2011-05-02 14:39:22