我的 Android 代码有一个小问题。这是我第一次使用画布,我想为其设置图像但保留某种类型的纵横比。
这就是我现在正在做的事情,这将图像完全映射到画布上。它将图像宽度-高度设置为画布宽度-高度。
Drawable drawable = image; // gets the image
drawable.SetBounds(0, 0, canvasWidth, canvasHeight);
drawable.Draw(canvas);
Run Code Online (Sandbox Code Playgroud)
这在某些设备上效果很好,但是当设备很大时,拉伸效果就很糟糕。我想以保持纵横比的方式设置边界。如果画布的宽度-高度不是相同的宽高比,它将尝试以宽高比填充画布,但可能会在 x 或 y 轴上留下一些空间。
int imgWidth = 500;
int imgHeight = 800;
Run Code Online (Sandbox Code Playgroud)
我想根据这些值将图像映射到画布上,并根据需要进行拉伸,但即使部分画布未填充,也保持此纵横比。
做这个的最好方式是什么 ?
谢谢
Sec*_*der -2
在每个资源文件夹中提供正确的图像。正确的图像意味着正确的分辨率和屏幕密度。请参阅此链接http://developer.android.com/guide/topics/resources/providing-resources.html
| 归档时间: |
|
| 查看次数: |
1509 次 |
| 最近记录: |