如果我有一個我知道高度和寬度的圖像,如何將它放在具有最大可能尺寸的矩形中而不會拉伸圖像。使圖像適合長方形
僞代碼已經足夠了(但我打算在Java中使用它)。
謝謝。
所以,根據答案,我寫了這個:但它不起作用。我做錯了什麼?
double imageRatio = bi.getHeight()/bi.getWidth();
double rectRatio = getHeight()/getWidth();
if (imageRatio < rectRatio)
{
// based on the widths
double scale = getWidth()/bi.getWidth();
g.drawImage(bi, 0, 0, (int) (bi.getWidth() * scale), (int) (bi.getHeight() * scale), this);
}
if (rectRatio < imageRatio)
{
// based on the height
double scale = getHeight()/bi.getHeight();
g.drawImage(bi, 0, 0 , (int) (bi.getWidth() * scale), (int) (bi.getHeight() * scale), this);
}
你的意思是保持擬合方面寬高比? – 2010-04-29 19:11:30
@SB:我認爲是這樣(我不明白你的意思是什麼......)所以,源圖像和縮放圖像的寬度和高度的比例必須相同。 – 2010-04-29 19:13:20