如何从转换矩阵中的值中提取画布中位图的边界?

时间:2015-06-07 20:37:27

标签: android matrix bitmap android-canvas transformation

我有一个转换矩阵,每次在onDraw中拖动图像时都会更新:

@Override
    protected void onDraw(Canvas canvas) {
        super.onDraw(canvas);

        if (!isInitialized) {
            int w = getWidth();
            int h = getHeight();
            position.set(w / 2, h / 2);
            isInitialized = true;
        }

        track.reset();
        track.postScale(scale, scale);
        transform.reset();
        transform.postTranslate(-width / 2.0f, -height / 2.0f);
        transform.postRotate(getDegreesFromRadians(angle));
        transform.postScale(scale, scale);
        transform.postTranslate(position.getX(), position.getY());
        float[] values = new float[9];
        transform.getValues(values);
        Log.d("values","are"+values[0]+values[1]+values[2]);
        canvas.drawBitmap(bitmap, transform);

    }

当我记录值时,我可以确定值[0]是例如来自原始位图的比例因子。当我拖动,旋转和缩放位图时,其他8个值会发生变化。

现在我想找到位图的边界。这包括了解翻译以及比例(确定大小)。

那么我在哪里可以找到计算位图及底部位置的方程式?此外,这个因素是否可以应用于任何轮换?

0 个答案:

没有答案