0

画像はトリミングされています。その画像をフォルダ(sdcard)に保存したい...画像の切り抜きとimageviewへの表示はすでに行っていますが、問題は、画像の切り抜きをsdcardに保存する方法がわからないということです。

これが私のコードが画像をトリミングすることに成功したことです。

Bundle extras = data.getExtras();

if (extras != null) {               
    Bitmap photo = extras.getParcelable("data");
    mImageView.setImageBitmap(photo);
}

トリミングされた画像を保存するためのコードをどこに追加できますか?

4

1 に答える 1

3

この方法を試してください:

 Bundle m_extras = data.getExtras();
 // get the cropped bitmap
 Bitmap m_thePic = m_extras.getParcelable("data");
 String m_path = Environment.getExternalStorageDirectory().toString();
File m_imgDirectory = new File(m_path + "/Images/");
if (!m_imgDirectory.exists()) m_imgDirectory.mkdir();
OutputStream m_fOut = null;
File m_file = new File(m_path);
m_file.delete();
String m_fileid = System.currentTimeMillis() + "";
m_file = new File(m_path, "/Images/" + m_fileid + ".png");  
try
{
    if (!m_file.exists()) m_file.createNewFile();
    m_fOut = new FileOutputStream(m_file);      
    Bitmap m_bitmap = m_thePic.copy(Bitmap.Config.ARGB_8888, true);
    m_bitmap.compress(Bitmap.CompressFormat.PNG, 100, m_fOut);
    m_fOut.flush();
    m_fOut.close();
    MediaStore.Images.Media.insertImage(getContentResolver(),
            m_file.getAbsolutePath(), m_file.getName(), m_file.getName());
}
catch (Exception p_e)
{
}

マニフェストファイルに以下の権限を追加します。

  <uses-permission android:name="android.permission.CAMERA" />
    <uses-feature android:name="android.hardware.camera" />
    <uses-feature android:name="android.hardware.camera.autofocus" />
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
于 2013-01-16T13:58:38.037 に答える