有没有办法在绘制位图时设置剪切矩形?

时间:2014-05-14 22:13:07

标签: android android-canvas android-bitmap

我正在尝试编写一个可以移动的矩形程序。在这个矩形内部将是一个位图。

有没有办法为位图设置剪裁矩形,所以只绘制矩形内的部分?

绘制位图时有没有办法设置剪裁矩形?我没有看到它的方法。

2 个答案:

答案 0 :(得分:0)

使用Canvas.drawBitmap(),传递“src”Rect,表示您需要绘制的位图部分。

答案 1 :(得分:0)

覆盖onDraw方法,在绘制位图之前,使用以下clipRect方法之一设置剪裁矩形。

  

boolean clipRect(Rect rect, Region.Op op)

     

使用指定的矩形修改当前剪辑,该矩形以本地坐标表示。

     

boolean clipRect(RectF rect, Region.Op op)

     

使用指定的矩形修改当前剪辑。

     

boolean clipRect(int left, int top, int right, int bottom)

     

将当前剪辑与指定的矩形相交,该矩形以局部坐标表示。

     

boolean clipRect(float left, float top, float right, float bottom)

     

将当前剪辑与指定的矩形相交,以矩形表示   当地坐标。

     

boolean clipRect(RectF rect)

     

将当前剪辑与指定的矩形相交,该矩形以局部坐标表示。

     

boolean clipRect(float left, float top, float right, float bottom, Region.Op op)

     

使用指定的矩形修改当前剪辑,该矩形以本地坐标表示。

     

boolean clipRect(Rect rect)

     

将当前剪辑与指定的矩形相交,该矩形以局部坐标表示。

来自http://developer.android.com/reference/android/graphics/Canvas.html