【问题标题】:Android: Using matrix to draw bitmapsAndroid:使用矩阵绘制位图
【发布时间】:2013-04-12 18:49:09
【问题描述】:

我正在尝试学习使用

在画布上绘制位图
drawBitmap(Bitmap bitmap, Matrix matrix, Paint paint);

因为我需要我的一个 png 来增加几乎每一帧的大小,我设法做到了

Matrix matrix=new Matrix();
matrix.setScale(0.001f,0.001f);

这对我来说很好用。但我遇到的问题是将图像放置在正确的坐标中。我认为其中任何一个都会做到这一点

matrix.setTranslate(x,y); 矩阵.postTranslate(x,y);

但这就是我弄错的地方,图像总是绘制在 0,0 坐标上。 在我需要缩放图像之前,我可以很好地使用

canvas.drawBitmap(bmp,x,y,paint);

我可以指定要绘制的点。我也可以使用 drawBitmap 的矩阵版本吗?或者我应该怎么经常调整我的图像大小?

【问题讨论】:

    标签: android matrix bitmap android-canvas


    【解决方案1】:

    使用绘制位图的矩阵版本。重要的是要以正确的顺序进行。从单位矩阵开始。然后使用 postScale 按您想要的任何因素对其进行缩放。这将使它成长,但不改变原点。然后使用 postTranslate 翻译它,它将向左/向右/向上/向下移动。然后将位图绘制到画布上,将矩阵传递给它。它会在复制之前按矩阵缩放和移动位图。

    【讨论】:

      猜你喜欢
      • 2021-11-23
      • 1970-01-01
      • 2023-03-06
      • 1970-01-01
      • 2021-10-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多