如何在Canvas android中缩放位图

时间:2015-11-18 07:38:01

标签: android graphics

我想使用Canvas在SurfaceView中显示图像(位图)。我的要求是画布的大小大于image.I在画布的每一侧需要空间(例如:10 dp)。我如何扩展这个?

由于 Mikahail

2 个答案:

答案 0 :(得分:1)

您可以绘制所需画布大小的矩形,然后使用参数(11,11)绘制图像,这将从每个维度的角落绘制10px。

答案 1 :(得分:0)

将此方法放入SurfaceView班级:D

 public void draw(Canvas canvas) {
    final float scaleFactoryX = getWidth() / (WIDTH * 1.f);
    final float scaleFactoryY = getHeight() / (HEIGHT * 1.f);
    if (canvas != null) {
        final int savedState = canvas.save();
        canvas.scale(scaleFactoryX, scaleFactoryY);

        canvas.restoreToCount(savedState);
    }

}