Android 从所有角均匀剪切位图
我有一个宽度为720,高度为1020的位图,我想用相同的值(比如50)裁剪位图的所有四个角。从上、左、下、右各50。下面是我如何在代码中尝试这一点的Android 从所有角均匀剪切位图,android,android-bitmap,Android,Android Bitmap,我有一个宽度为720,高度为1020的位图,我想用相同的值(比如50)裁剪位图的所有四个角。从上、左、下、右各50。下面是我如何在代码中尝试这一点的 sourceImg = Bitmap.createBitmap(sourceImg, 50, 50, sourceImg.getWidth() - 50, sourceImg.getHeight() - 50); 顶部和左侧似乎裁剪正确,但底部和右侧则不然。您应该使用下面的计算方法。宽度和高
sourceImg = Bitmap.createBitmap(sourceImg, 50,
50, sourceImg.getWidth() - 50, sourceImg.getHeight() - 50);
顶部和左侧似乎裁剪正确,但底部和右侧则不然。您应该使用下面的计算方法。宽度和高度按角值减少(每侧减半)
如果顶部和左侧裁剪正确,则似乎只需从最后两个参数中减去
corner
,而不是corner/2
。编辑问题以避免混淆。你能解释一下为什么我需要更改从位图中裁剪出来的右和下的值吗?最后两个参数IIRC不是右和下,它们是宽度和高度。因此,如果顶部和左侧是50,并且您希望周围有一个均匀的边框,那么您需要宽度和高度减少2*50。现在就可以了。现在我明白为什么我需要这样做了。谢谢
sourceImg = Bitmap.createBitmap(sourceImg,
corner/2,
corner/2,
sourceImg.getWidth() - corner,
sourceImg.getHeight() - corner);