drawBitmap显示的图片比它大

时间:2014-04-10 16:14:46

标签: android canvas bitmap

以下是我用来在画布上显示图像一部分的代码示例:

Bitmap map = BitmapFactory.decodeResource(getResources(), R.drawable.thecat);
//the cat is 600x600 single image that looks like a 3x3 table made of 200x200 images

Bitmap smallShaft = Bitmap.createBitmap(map, 200, 200, 200, 200);
//notice createBitmap(source, startX, startY, width, height)

Canvas c = holder.lockCanvas(); 
    c.drawARGB(255, 124, 124, 255);
    c.drawBitmap(smallShaft, 0,0, null); 
holder.unlockCanvasAndPost(c);

我得到的是一个200x200的正方形,包含超大的图像。尽管我从600x600图像中剪下了200x200的部分,但它显示出我从(600 * 1.5)x(600 * 1.5)图像中剪切了200x200的部分。

我得到了什么

i.stack.imgur.com/pb2Qv.png

我正在切割

i.stack.imgur.com/HRESU.jpg

你应该知道的另一个细节。 它是在自定义SurfaceView上绘制的,它实现了Runnable,并且图像正在无限循环中重绘。

0 个答案:

没有答案