1
我正在以编程方式使用用户输入的数据绘制到画布。一旦输入了所有数据,用户就可以浏览图像,并将它们绘制到画布上。用户可以选择保存所有图像(可能有几百个)。我使用在UI线程上运行的runnable,它将绘制并保存每个图像(因为您无法从AsyncTask绘制到画布)。这有效,但我遇到的问题是如果在进行保存时,用户关闭屏幕或最小化应用程序。这导致jpegs只是黑色。我希望储蓄是可以在后台运行并仍然有效的东西。当画布不可见时将画布保存为jpeg
代码用于绘制到画布上,并保存图像:
protected void onDraw(Canvas canvas) {
super.onDraw(canvas);
Bitmap bitmap;
bitmap = Bitmap.createBitmap(width, height, Bitmap.Config.ARGB_8888);
canvas.setBitmap(bitmap);
// draw everything here
OutputStream stream = new FileOutputStream(imageName + ".jpg");
bitmap.compress(CompressFormat.JPEG, 100, stream);
stream.close();
}
那么,有没有对图像的方式来绘制,并同时在画布上是不可见的保存到文件中的背景是什么?任何帮助,将不胜感激!
什么是'gestureSign'(我知道这是一个错字,但初学者不会)。你还应该添加一些解释。只是复制和粘贴一些代码不是答案。 – Simon
即使这没有太多的解释,它工作正常,并帮助解决了我的问题。我从我的onDraw方法中删除了保存代码,并将所有内容都移动到了我的Runnable的运行方法中。我现在可以在后台绘制并保存所有图像。谢谢! – Mark