在OnDraw()中保存多个图片时出现问题

时间:2011-09-19 12:16:10

标签: java android canvas

我是Android新手,我无法在onDraw(Canvas canvas);

中保存多张图片

这是我在画布中绘制图像的代码

canvas.drawBitmap(resize, 40, 100, null);
canvas.drawBitmap(resizeImage1, 400, 100, null);
canvas.drawText(CameraText, 100, 175, paint);

这是我保存图片的代码。

Bitmap toDisk = Bitmap.createBitmap(resizeImage1);
canvas.setBitmap(toDisk);
toDisk.compress(Bitmap.CompressFormat.JPEG, 100, new FileOutputStream(new File("/mnt/sdcard/pig.jpg")));

我的问题是我只能传递单个变量resizeImage1。我无法通过CameraTextresize。我怎么能这样做?

1 个答案:

答案 0 :(得分:0)

你不需要尝试保存画布图形而不是位图吗?

这样你就可以对图像应用修改(通过画布)然后保存

canvas对象使用setBitmap更改您分配的位图,然后使用canvas函数将更改应用于位图。所以沿着这条线的东西应该与你正在寻找的东西相似(从你的示例代码中复制)

Bitmap toDisk = Bitmap.createBitmap(resizeImage1);
canvas.setBitmap(toDisk);
canvas.drawBitmap(resize, 40, 100, null);
canvas.drawBitmap(resizeImage1, 400, 100, null);
canvas.drawText(CameraText, 100, 175, paint);
toDisk.compress(Bitmap.CompressFormat.JPEG, 100, new FileOutputStream(new File("/mnt/sdcard/pig.jpg")));