Xuni for Android のドキュメント
画像のエクスポート

後で使用できるように、FlexChart コントロールの画像を簡単に取得しておくことができます。画像は保存したり、他の人とシェアすることができます。アプリケーションに追加コードをいくつか付け加えて、定義済みの場所に画像を取得します。

次のコード例では、「クイックスタート」セクションで作成したサンプルを使用します。

サンプルコード

  1. 画像をエクスポートするには、次の import 文を MainActivity.java クラスに追加します。
    Java
    コードのコピー
    import com.grapecity.xuni.core.IEventHandler;
    import android.os.Environment;
    import android.graphics.Bitmap;
    import android.widget.Toast;
    import android.content.Intent;
    import android.net.Uri;
    import java.io.File;
    import java.io.FileOutputStream;
    import java.io.OutputStream;
    
  2. onCreate(Bundle savedInstanceState) メソッド内の MainActivity.java クラスに、次のコードを追加します。
    Java
    コードのコピー
    mChart.getRendered().addHandler(new IEventHandler()
        {
         @Override
         public void call(Object arg0, Object arg1)
         {
         if (exportImage())
            Toast.makeText(getApplicationContext(), "Snapshot stored to device", Toast.LENGTH_SHORT).show();
               }
         }, mChart);
       }
        
    public boolean exportImage()
      {
         final String APP_PATH_SD_CARD = "/xuni/samples/FlexChart/";
         Bitmap image = mChart.getImage();
         String fullPath = Environment.getExternalStorageDirectory().getAbsolutePath() + APP_PATH_SD_CARD;
    
         try
            {
              File dir = new File(fullPath);
              if (!dir.exists())
                    {
                      dir.mkdirs();
                    }
    
    // 画像を新しいファイルに保存します
    OutputStream fOut = null;
    File file = new File(fullPath, "snapshot.jpeg");
    file.createNewFile();
    fOut = new FileOutputStream(file);
    
    // 画像を圧縮なしで JPEG 形式に変換します
    image.compress(Bitmap.CompressFormat.JPEG, 100, fOut);
    fOut.flush();
    fOut.close();
    
    // 画像のインデックスをギャラリーに追加します
    Intent mediaScanIntent = new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE);
    Uri contentUri = Uri.fromFile(file);
    mediaScanIntent.setData(contentUri);
    getApplicationContext().sendBroadcast(mediaScanIntent);
    
    return true;
    
            }
    
            catch (Exception e)
              {
                 e.printStackTrace();
                 return false;
              }
    

 

 


Copyright © GrapeCity inc. All rights reserved.