7

いくつかの図形を描くために使用できるキャンバスを作成しました。そのコンテンツをユーザーの SD カードの PNG ファイルに保存するにはどうすればよいですか?

4

2 に答える 2

7

このリンクをチェックしてください このリンクこのリンク では、メソッドを見つけることができます

void saveImage() {

  try {
      String filename = Environment.getExternalStorageDirectory().toString();

      File f = new File(filename ,"myImage.png");
      f.createNewFile();
      System.out.println("file created " + f.toString());
      FileOutputStream out = new FileOutputStream(f);
      Bitmap bitmap = showImage(urlStr);
      bitmap.compress(Bitmap.CompressFormat.PNG, 90, out);
  } catch (Exception e) {
      e.printStackTrace();
  }      
 }

これは、取得した画像をビットマップに保存するために使用されます。 キャンバスからビットマップを取得するには、このリンクを確認してください

これがお役に立てば幸いです。

ハッピーコーディング

于 2012-11-23T17:32:36.270 に答える
2

キャンバスは、ビットマップに描画する手段にすぎません。

で Canvas を作成しているはずですnew Canvas(myBitmap);。したがって、キャンバスに描画すると、ビットマップに描画されます。

だから使用myBitmapして、次のことを行います(ここにコード:

String fileName = Environment.getExternalStorageDirectory() + "/test.png";
OutputStream stream = new FileOutputStream(fileName);
/* Write bitmap to file using JPEG or PNG and 80% quality hint for JPEG. */
myBitmap.compress(CompressFormat.PNG, 80, stream);
stream.close();
于 2012-11-23T17:34:11.313 に答える