Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/225.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 从所有角均匀剪切位图_Android_Android Bitmap - Fatal编程技术网

Android 从所有角均匀剪切位图

Android 从所有角均匀剪切位图,android,android-bitmap,Android,Android Bitmap,我有一个宽度为720,高度为1020的位图,我想用相同的值(比如50)裁剪位图的所有四个角。从上、左、下、右各50。下面是我如何在代码中尝试这一点的 sourceImg = Bitmap.createBitmap(sourceImg, 50, 50, sourceImg.getWidth() - 50, sourceImg.getHeight() - 50); 顶部和左侧似乎裁剪正确,但底部和右侧则不然。您应该使用下面的计算方法。宽度和高

我有一个宽度为720,高度为1020的位图,我想用相同的值(比如50)裁剪位图的所有四个角。从上、左、下、右各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);