如何在位图顶部绘制图像并在Android Java中合并为一个位图

时间:2018-03-29 15:59:25

标签: android canvas bitmap

我正在使用Java开发Android应用程序。我正在我的应用程序中进行一些图像处理。首先,我喜欢保存,我不了解图像处理。但是,我正试图进入它。我现在想做的是在位图上绘制一个简单的图像并将其保存为一个位图。

我正在将资产文件夹中的图像作为这样的位图加载。

Bitmap rectBitmap = BitmapFactory.decodeStream(istr);

假设照片是一个像这样的简单矩形。

enter image description here

然后我想用坐标点绘制一个位图(三角形)。图像就是这个。

enter image description here

我对代码的想象就是这样。

rectBitmap.drawOnTop(coorPointOneValues, coorPointTwoValues, coorPointThreeValues);

坐标点值将是x和y值,因为我正在处理2D坐标系。

然后我想在绘制traingle之后保存这样的图像

rectBitmap = rectBitmap.saveBitmap();

我该怎么办?提到的场景是我能想到的一种可能的方式。如果不可能,那会是另一种方式吗?

1 个答案:

答案 0 :(得分:1)

你可以这样做。

1,阅读或创建您的位图:

Bitmap rectBitmap = BitmapFactory.decodeStream(istr);
Bitmap.createBitmap(width, height, Bitmap.Config.ARGB_8888);

2,在位图上创建一个画布:

Canvas canvas = new Canvas(bitmap);
3,画一些东西:

canvas.drawColor(Color.RED)   
canvas.drawRect / canvas.drawLine / canvas.drawArc ...
//for triangle shape you can use drawPath

4,保存位图:

bitmap.compress(CompressFormat format, int quality, OutputStream stream)