使用Matrix

时间:2018-08-27 13:12:53

标签: android canvas rect

最初,我具有以下值来绘制椭圆,

RectF(0.0, 0.0, 164.0, 1112.0)
Matrix{[1.0, 0.0, 370.97623][0.0, 1.0, 196.02643][0.0, 0.0, 1.0]}
bitmap = Bitmap.createBitmap((int) rect.width(), (int) rect.height(), Bitmap.Config.ARGB_8888);
bitmap.eraseColor(getColor());

这里是onDraw方法,

canvas.drawBitmap(bitmap, matrix, null);
canvas.save();
canvas.concat(matrix);
canvas.drawOval(0, 0, bitmap.getWidth(), bitmap.getHeight(), mPaint);

现在我正在关注sc:

enter image description here

在此之后,我取消了像这样的Matrix值(实际上,我正在尝试旋转)

Matrix{[0.93802166, 0.37798083, 57.083317][-0.37798083, 0.93802166, 278.4423][0.0, 0.0, 1.0]}

我正在将mapRect应用于此矩阵,如下所示,

RectF rectF2 = new RectF();
matrix.mapRect(rectF2, this.rectF);

我的rect2是RectF(57.083317, 216.45343, 631.2335, 1321.5223)

现在我再次像初始代码一样使用此rect创建位图并使视图无效,现在我得到以下sc:

enter image description here

但是,如果我不重新创建位图,那我将遵循SC:

enter image description here

实际上我只想要这个,如何使用当前的rect实现。

0 个答案:

没有答案