为画布指定图像URL

时间:2011-10-07 04:24:15

标签: android

我有以下代码:

canvas.drawBitmap (mBitmap, 0,  0,null);

如何将mBitmap设为PATH或SD卡中的图像?所以当我保存画布时,它会保存该URL的图像吗?

非常感谢您的帮助! :)

3 个答案:

答案 0 :(得分:1)

如果是URL,则需要下载字节流并保存,然后使用BitmapFactory将其解码为位图对象。

可以找到here

的示例

同样适用于文件,但您可以使用BitmapFactory.decodeFile(...)

答案 1 :(得分:0)

除非您为自己的目的创建自定义CustomCanvas课程,否则无法执行此操作。无论如何,你仍然需要下载&在draw之前缓存图片。

答案 2 :(得分:0)

以下是指向tutorial that does this

的链接

要点:

启用绘图缓存:

 setDrawingCacheEnabled(true);

将画布映射到位图:

      canvas = mSurfaceHolder.lockCanvas(null);
      if(mBitmap == null){
        mBitmap =  Bitmap.createBitmap (1, 1, Bitmap.Config.ARGB_8888);;
      }
      final Canvas c = new Canvas (mBitmap);
      c.drawColor(0, PorterDuff.Mode.CLEAR);
      commandManager.executeAll(c);
      canvas.drawBitmap (mBitmap, 0,  0,null);

保存图片:

final FileOutputStream out = new FileOutputStream(new File(APP_FILE_PATH + "/myAwesomeDrawing.png"));
      nBitmap.compress(Bitmap.CompressFormat.PNG, 90, out);
      out.flush();
      out.close();