如何知道图像是否与矩阵一起翻译?

时间:2013-01-10 09:58:52

标签: android matrix

我正在使用来自github的TouchImageView并使用matrix.posttranslate来处理拖动缩放图像的用户控制。问题是我需要知道用户何时拖动到图像的边框,因此图像不能再水平移动。有人有理想吗?

2 个答案:

答案 0 :(得分:1)

如果您没有轮换Matrix,则第二和第五个元素为translateXtranslateY

    final Matrix matrix = ...;
    final float[] values = new float[9];

    matrix.getValues(values);

    final float translateX = values[2];
    final float translateY = values[5];

答案 1 :(得分:0)

感谢。在深入阅读github上的gallery源代码之后,我得到了解决方案。要检查是否向右滑动边框:

float scaledWidth = Math.round(mOrigWidth * mSaveScale);
                    if (Math.abs(mViewWidth - translateX - scaledWidth) <= 1.0) {
                        // drag to right border
                        ALog.d("touchimageview", "right x: "
                                + (mViewWidth - translateX - scaledWidth));
                        touchEventListener.onZoomToOriginal();
                        break;
                    }