2012-10-12 36 views
6

我必须裁剪位图形象方面这个我使用Bitmap.createBitmap(位图源,诠释的x,INT Y,INT宽度,高度INT)返回错误的位图

Bitmap bitmap = Bitmap.createBitmap(imgView.getWidth(),imgView.getHeight(), Bitmap.Config.RGB_565); 
Bitmap result =Bitmap.createBitmap(bitmap,imgView.getLeft()+10, imgView.getTop()+50, imgView.getWidth()-20, imgView.getHeight()-100); 
bitmap.recycle(); 
Canvas canvas = new Canvas(result); 
imgView.draw(canvas); 

但它切底输出中存在bitmap.Top和Left部分的右侧,这意味着x和y的位置不起作用。

我被搜索了一个很好的documentation.But我不能。

在此先感谢

这里有什么问题以及如何解决?

回答

10

基本上你的问题出现在你创建一个位图的事实上。你不会放任何东西。然后创建一个较小的位图,然后将imageView渲染到较小的位图。

这会切断底部100像素和右20像素。

您需要创建大的位图。将imageview数据添加到该位图。然后调整它的大小。

下面的代码应该工作:

Bitmap bitmap = Bitmap.createBitmap(imgView.getWidth(),imgView.getHeight(), Bitmap.Config.RGB_565); 
Canvas canvas = new Canvas(bitmap); 
imgView.draw(canvas); 
Bitmap result =Bitmap.createBitmap(bitmap,imgView.getLeft()+10, imgView.getTop()+50, imgView.getWidth()-20, imgView.getHeight()-100); 
bitmap.recycle(); 
+0

谢谢you.It工作正常。 –

+0

谢谢老板。它运作良好。 – basheer

相关问题