我用view画的bitmap,起初是简单地判断是否落在绘制bitmap的矩形区域,后来发现用Matrix旋转bitmap之后,这招行不通。如何判断斜着的矩形区域呢?求救!

解决方案 »

  1.   

    这个你可以看看APIDemo里面有的哈,好好研究一下。
      

  2.   


    请问Demo里面叫什么名字?
      

  3.   

    这个我帮你想了一下,你可以这样实现,你的bitmap在没有旋转之前,坐标系是我们一般水平和竖直的,如果你旋转了一定角度之后,那么这个坐标系也接着就被旋转了,根据数学知识,按照坐标系转换,不久可以的了嘛。
      

  4.   

    这个有意思,我做过,其实你要取得matrix的9个float,然后根据公式算出四个顶点坐标,然后判断点击点是否在这个四个顶点内。以下是抄的:(如果图片没有旋转,这段代码是对的,旋转需要多考虑些)
    Matrix matrix = mImageViewMap.getImageMatrix();  
    Rect rect = mImageViewMap.getDrawable().getBounds();  
    float[] values = new float[9];  
    matrix.getValues(values);  
    ImageState mapState = new ImageState();  
    mapState.Left = values[2];  
    mapState.Top = values[5];  
    mapState.Right = mapState.Left() + rect.width() * values[0];  
    mapState.Bottom = mapState.Top() + rect.height() * values[0];  
    //这样,ImageState中存放的是mImageViewMap中的图片四个边的值。
      

  5.   

    哎呀,不好意思哈!这么迟才给你回复,最近忙了点,根据的你方法已经解决了,用的Matrix,谢谢你!