I.m试图绘制一个对象数组,每个对象都有它的矩阵:
public void draw(Canvas canvas)
{
for (int i = 0; i < obj.length; i++)
{
MyObject o = obj[i];
canvas.drawBitmap(w.image, o.matrix, null);
}
}
这些是真实世界的矩阵,它们需要在绘制之前进行缩放。出于这个原因,我有另一个scale_matrix。 如果我使用scale_matrix连接o.matrix,如何正确地重新定位对象,但问题是图像也会缩放并且质量会丢失。 我不希望这样,因为图像已经缩放到适合绘图的大小。
在正确的位置绘制它们的一种方法是:
float pts[] = {0, 0};
o.matrix.mapPoints(pts);
scale_matrix.mapPoints(pts);
canvas.drawBitmap(o.image, pts[0], pts[1], null);
但在这种情况下,它们将被对齐,并且不会应用o.matrix变换。
问题是如何使用scale_matrix将图像放置在正确的像素位置,然后应用o.matrix转换?
我想在绘制之前使用scale_matrix正确缩放空间。