Java Android:从下到上裁剪图像
我有一个图像,我正试图将图像的裁剪版本覆盖在原始图像上。大概是这样的: 原创的 叠加图像 覆盖图像裁剪到大约50%后的图像 现在,我下面的代码与我想要的相反,并返回如下图像:Java Android:从下到上裁剪图像,java,android,bitmap,Java,Android,Bitmap,我有一个图像,我正试图将图像的裁剪版本覆盖在原始图像上。大概是这样的: 原创的 叠加图像 覆盖图像裁剪到大约50%后的图像 现在,我下面的代码与我想要的相反,并返回如下图像: 我知道我可以反转图像文件,但我想从原始图像开始,让覆盖层向上绘制,而不是从覆盖层开始,然后向下绘制原始图像。感谢您的帮助 您可以使用以下方法: Canvas.drawBitmap(Bitmap bitmap, Rect src, Rect dst, Paint paint) 以下是我的overlay方法,可以满足
我知道我可以反转图像文件,但我想从原始图像开始,让覆盖层向上绘制,而不是从覆盖层开始,然后向下绘制原始图像。感谢您的帮助 您可以使用以下方法:
Canvas.drawBitmap(Bitmap bitmap, Rect src, Rect dst, Paint paint)
以下是我的overlay
方法,可以满足您的需要:
public static Bitmap overlay(Bitmap base, Bitmap overlay, Float percentage) {
Bitmap resultBitmap = Bitmap.createBitmap(base.getWidth(), base.getHeight(), Bitmap.Config.ARGB_8888);
Canvas canvas = new Canvas(resultBitmap);
Paint paint = new Paint();
// base bitmap
canvas.drawBitmap(base, 0F, 0F, paint);
// overlay bitmap
int yOffset = (int) (percentage * base.getHeight());
Rect rect = new Rect(0, yOffset, overlay.getWidth(), overlay.getHeight());
canvas.drawBitmap(overlay, rect, rect, paint);
return resultBitmap;
}
public static Bitmap overlay(Bitmap base, Bitmap overlay, Float percentage) {
Bitmap resultBitmap = Bitmap.createBitmap(base.getWidth(), base.getHeight(), Bitmap.Config.ARGB_8888);
Canvas canvas = new Canvas(resultBitmap);
Paint paint = new Paint();
// base bitmap
canvas.drawBitmap(base, 0F, 0F, paint);
// overlay bitmap
int yOffset = (int) (percentage * base.getHeight());
Rect rect = new Rect(0, yOffset, overlay.getWidth(), overlay.getHeight());
canvas.drawBitmap(overlay, rect, rect, paint);
return resultBitmap;
}