仅绘制Drawable/Bitmap的一部分

jfi*_*isk 6 android bitmap surfaceview drawable

我想知道是否可以在将位图加载到内存中之后仅绘制一部分位图而不创建新的位图.我看到Drawable有一个setBounds方法,但我不确定它是否只绘制区域集或只调整整个图像的大小.谢谢.

Wil*_*Kru 9

假设您有一个要绘制的主画布,您可以使用Canvas类的drawBitmap方法之一来绘制加载的位图的子集.

public void drawBitmap(Bitmap bitmap,Rect src,Rect dst,Paint paint)

  • 只有在将源矩形定义为与整个源位图大小相同或者为null时才会出现这种情况.定义一个较小的矩形将获取一个子集.从联机帮助页"如果源矩形不为null,则指定要绘制的位图的子集" (4认同)
  • 这会调整整个位图的大小以适应目标矩形. (2认同)