【问题标题】:cropping image and save to specific folder in sdcard (Android)?裁剪图像并保存到 sdcard (Android) 中的特定文件夹?
【发布时间】:2013-01-16 13:52:52
【问题描述】:
我的图像已被裁剪。我想将该图像保存到文件夹(sdcard)...我已经完成了裁剪图像并显示到 imageview,但我的问题是,我不知道如何将图像裁剪保存到 sdcard?
这是我的代码已成功裁剪图像..
Bundle extras = data.getExtras();
if (extras != null) {
Bitmap photo = extras.getParcelable("data");
mImageView.setImageBitmap(photo);
}
我可以在哪里添加代码来保存已裁剪的图像?
【问题讨论】:
标签:
android
imageview
sd-card
crop
【解决方案1】:
试试这个方法:
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"/>