答案 0 :(得分:0)
尽管建议初学者使用第三方库,但有时不是最佳选择,尤其是如果android SDK中实现了您想做的任何事情的实现,请看一下本教程,例如:
https://code.tutsplus.com/tutorials/capture-and-crop-an-image-with-the-device-camera--mobile-11458
现在解决您的问题,您可以采用多种方法来解决此问题:
Bitmap mBitmap = BitmapFactory.decodeResource(getResources(), R.drawable.yourImage);
croppedImage = Bitmap.createBitmap(mBitmap, 0 , 0 , desiredwidth, desiredheight);
如果您想裁剪出边界区域,则无法使用上面的答案
Bitmap mBitmap = BitmapFactory.decodeResource(getResources(), R.drawable.yourImage);
Rect mRect= new Rect(x1, y1, x2, y2);
assert(mRect.left < mRect.right && mRect.top < mRect.bottom);
Bitmap croppedImage = Bitmap.createBitmap(rect.right-rect.left, rect.bottom-rect.top, Bitmap.Config.ARGB_8888);
new Canvas(croppedImage).drawBitmap(mBitmap, -rect.left, -rect.top, null);
PS:在使用任何库之前,请检查android sdk,那里有很多很好的例子,它将减少不必要的库的使用,并使您更好地理解基础代码。