将图片添加空白并保存文件

3
我有一张图片,想要给它添加空白并保存。我该如何给我的图片添加空白呢?我已经从SD 卡中选定了这张图片的路径。

enter image description here


白空格转换为图像? - undefined
我添加了一个图像作为示例。 - undefined
保持白色背景并使用padding属性。 - undefined
我认为你可以给图像视图添加填充,并从图像视图创建位图,然后将其保存为图像文件。 - undefined
@Ahamed & AlphaQ 我想保存位图。 - undefined
1个回答

4
首先,创建一个指定最终图像大小的Bitmap
Bitmap bitmap = Bitmap.createBitmap(width, height, Bitmap.Config.ARGB_8888);

然后创建一个CanvasBitmap绘制,绘制背景颜色:

Canvas canvas = new Canvas(bitmap);
canvas.drawColor(Color.WHITE, PorterDuff.Mode.CLEAR);

然后将原始图像绘制到画布上:
Paint paint = new Paint();
paint.setAntiAlias(true);
paint.setFilterBitmap(true);
paint.setDither(true);

int top = (original.getHeight() - bitmap.getHeight()) / 2;
int left = (original.getWidth() - bitmap.getWidth()) / 2;

canvas.drawBitmap(original, top, left, paint);

最后,按照保存文件教程来将此Bitmap保存到File中。您可以使用bitmap.compress(Bitmap.CompressFormat.PNG, 100, outputStream);代替outputStream.write()来存储Bitmap

这是最好的方法,但是它在我的图片上添加了一个黑色空间而不是空白处。将其更改为canvas.drawColor(Color.WHITE, PorterDuff.Mode.LIGHTEN); 可以解决我的问题。 - undefined

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接