我有一个派生自ImageView
的课程。在其onDraw
方法重写中,我需要将视图的内容复制到位图中。副本必须包含整个内容而不仅仅是可见部分。如何获取该内容的大小
要完成此操作,我创建一个位图并调用super.onDraw
传递此位图的画布作为参数。然后我将得到的位图绘制到onDraw
通过的画布上。代码如下。
我的问题是我的位图应该有多大?目前我使用getWidth()
和getHeight()
作为位图的尺寸。但这不起作用,因为它返回视图大小,而不是内容大小。我正在寻找一种方法,在根据视图的scaleType
调整了drawable的大小后获取内容的大小。
drawable的大小不起作用,因为drawable可能与内容大小不同。
@Override
public void onDraw(Canvas canvas)
{
if (_bitmap == null)
{
final int w = getWidth();
final int h = getHeight();
_bitmap = Bitmap.createBitmap(w, h, Bitmap.Config.ARGB_8888);
_canvas = new Canvas(_bitmap);
super.onDraw(_canvas);
}
canvas.drawBitmap(_bitmap, 0, 0, null);
}
什么问题呢?代码是否工作? – noob 2012-03-29 15:07:33
我编辑了问题并更改了标题 – akonsu 2012-03-29 16:27:21