0

我想在画布中显示图像,添加一些文本并将位图保存到 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();

但我得到的图像没有添加文本

4

2 回答 2

0

那是因为您没有保存 Canvas 本身。

也可以看看:

于 2013-05-12T08:16:41.373 回答
0

看起来您可能需要使用 Canvas 构造函数,在其中将位图作为参数传递给构造函数,因此当画布被绘制到时,它会有效地绘制到给定的位图。

于 2013-05-12T11:33:40.523 回答