调整图像大小,同时保持Java中的宽高比

我试图在java内存中调整bufferdImage的大小,但是要保持图像的宽高比
我有这样的东西,但这不是很好

int w = picture.getWidth();
int h = picture.getWidth();
int neww=w;
int newh=h;
int wfactor = w;
int hfactor = h;
if(w > DEFULT_PICTURE_WIDTH || h > DEFULT_PICTURE_HIGHT)
{
    while(neww > DEFULT_PICTURE_WIDTH)
    {
        neww = wfactor /2;
        newh = hfactor /2;
        wfactor = neww;
        hfactor = newh;
    }
}

picture = Utils.resizePicture(picture,neww,newh);
您可能可以看看perils-of-image-getscaledinstance.html,这解释了为什么应该避免在某些答案中使用的getScaledInstance()。

该文章还提供了替代代码。

http://stackoverflow.com/questions/991349/resize-image-while-keeping-aspect-ratio-in-java

本站文章除注明转载外,均为本站原创或编译
转载请明显位置注明出处:调整图像大小,同时保持Java中的宽高比