我想在画布中显示图像,添加一些文本并将位图保存到png / jpg文件。 在将来我想从EditText中获取文本,用户将能够在他想要的位置添加文本,这就是我想要显示图像的原因。
我有这段代码:
@Override
public void onDraw(Canvas c)
{
Paint paint=new Paint();
paint.setColor(Color.BLACK);
Bitmap myBitmap = BitmapFactory.decodeResource(getResources(), R.drawable.img);
c.drawBitmap(myBitmap, 50, 50, paint);
c.drawText("hello", 100, 100, paint);
}
如果我想将myBitmap保存到png文件,我有:
String fileName = Environment.getExternalStorageDirectory() + "/image.png";
OutputStream stream = new FileOutputStream(fileName);
myBitmap.compress(CompressFormat.PNG, 80, stream);
stream.close();
但是我在没有添加文字的情况下获得了图片
答案 0 :(得分:0)
那是因为你没有保存画布本身。
另见:
答案 1 :(得分:0)
看起来您可能需要利用Canvas构造函数将Bitmap作为参数传递给构造函数,因此当Canvas被绘制时,它会有效地绘制到给定的Bitmap。