在绘制之前缩放实际大小的对象?

时间:2014-01-09 18:20:44

标签: android matrix scale

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正确缩放空间。

0 个答案:

没有答案