Как сохранить canvas изображение как картинку
Ну например, нарисовал я какую-ту фигуру на фото с помощью такого кода:
int width = canvas.getWidth();
int height = canvas.getHeight();
mPaint.setColor(Color.BLUE);
mPaint.setStyle(Paint.Style.FILL);
mPaint.setAntiAlias(true);
mPaint.setTextSize(32);
canvas.drawText("(_'|'_)", 30, height - 32, mPaint);
Но как теперь это сохранить?
Ответы (2 шт):
Автор решения: Danny
→ Ссылка
public Bitmap saveSignature(){
Bitmap bitmap = Bitmap.createBitmap(this.getWidth(), this.getHeight(), Bitmap.Config.ARGB_8888);
Canvas canvas = new Canvas(bitmap);
this.draw(canvas);
File file = new File(Environment.getExternalStorageDirectory() + "/sign.png");
try {
bitmap.compress(Bitmap.CompressFormat.PNG, 100, new FileOutputStream(file));
} catch (Exception e) {
e.printStackTrace();
}
return bitmap;
}
Автор решения: Style-7
→ Ссылка
Создайте функцию рисования которая принимает canvas как параметр, тогда вы сможете рисовать и на Bitmap в том числе.
Bitmap bm = Bitmap.createBitmap( 400, 300, Bitmap.Config.ARGB_8888);
Canvas canvas = new Canvas( bm );
DrawSomthing( canvas );