【发布时间】:2016-02-15 23:59:31
【问题描述】:
我的 android 代码有一个小问题。这是我第一次使用画布,我想为其设置图像但保持某种类型的纵横比。
这就是我现在正在做的事情,这会将图像完全映射到画布上。它将图像宽高设置为画布宽高。
Drawable drawable = image; // gets the image
drawable.SetBounds(0, 0, canvasWidth, canvasHeight);
drawable.Draw(canvas);
这在某些设备上效果很好,但是当设备很大时,拉伸效果真的很差。我想以保持纵横比的方式设置边界。如果画布宽高不是相同的纵横比,它会尝试用纵横比填充画布,但可能会在 x 或 y 轴上留下一些空间。
int imgWidth = 500;
int imgHeight = 800;
我想根据这些值在画布上映射图像并根据需要进行拉伸,但即使画布的一部分未填充,也要保持此纵横比。
最好的方法是什么?
谢谢
【问题讨论】: