1
我遇到問題。 我從android中的圖庫中選擇圖像並在imageview中顯示它。 我想要做的是用另一個名稱創建另一個文件,並將此映像複製到我的應用程序資源中的目錄中的此文件。 任何人都可以幫助我。從可繪製的圖形創建新的圖像文件
我遇到問題。 我從android中的圖庫中選擇圖像並在imageview中顯示它。 我想要做的是用另一個名稱創建另一個文件,並將此映像複製到我的應用程序資源中的目錄中的此文件。 任何人都可以幫助我。從可繪製的圖形創建新的圖像文件
您可以用下面的啓動畫廊選擇器意圖:
public void imageFromGallery() {
Intent getImageFromGalleryIntent =
new Intent(Intent.ACTION_PICK, MediaStore.Images.Media.INTERNAL_CONTENT_URI);
startActivityForResult(getImageFromGalleryIntent, SELECT_IMAGE);
}
然後當它返回時,獲得所選擇的圖像與下面的代碼部分的路徑:
public void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (resultCode == RESULT_OK) {
switch(requestCode) {
case SELECT_IMAGE:
mSelectedImagePath = getPath(data.getData());
break;
}
}
public String getPath(Uri uri) {
String[] projection = { MediaStore.Images.Media.DATA };
Cursor cursor = managedQuery(uri, projection, null, null, null);
startManagingCursor(cursor);
int column_index = cursor.getColumnIndexOrThrow(MediaStore.Images.Media.DATA);
cursor.moveToFirst();
return cursor.getString(column_index);
}
現在,您可以將字符串中的路徑名複製到其他位置。
try {
File sd = Environment.getExternalStorageDirectory();
File data = Environment.getDataDirectory();
if (sd.canWrite()) {
String sourceImagePath= "/path/to/source/file.jpg";
String destinationImagePath= "/path/to/destination/file.jpg";
File source= new File(data, souceImagePath);
File destination= new File(sd, destinationImagePath);
if (source.exists()) {
FileChannel src = new FileInputStream(source).getChannel();
FileChannel dst = new FileOutputStream(destination).getChannel();
dst.transferFrom(src, 0, src.size());
src.close();
dst.close();
}
} catch (Exception e) {}
這將做你的工作,我認爲..
而且通過這個link