用drawBitmap在canvas上绘制一个9-patch的图像

在自定义视图上使用9补丁图像资源的正确方法是什么?

我正在这样做:

background = BitmapFactory.decodeResource(getResources(), R.drawable.fundo_bookshelf); canvas.drawBitmap(background, null, new Rect(0, y, width, y+backgroundHeight), null); 

fundo_bookshelf是一个正确的9-patch图像,保存为fundo_bookshelf.9.png,如下所示:

fundo_bookshelf

但是在使用drawBitmap的时候,整个图像被拉伸了,而不是只有顶部有黑色像素的部分,如下图所示: strechted图像

Solutions Collecting From Web of "用drawBitmap在canvas上绘制一个9-patch的图像"