我已經使用Intent從我的活動的ImageView中選擇了SD卡中的圖像,現在我想要顯示一個固定大小的移動矩形,即我們必須使用手勢和我們想要的圖像的任何部分,那麼我們就可以裁剪那個。我們該怎麼做呢?對我來說真的很難? 請幫我這麼做?運行時裁剪android中的圖像
更新 - >我已經能夠把矩形和我得到裁剪和保存選定部分的問題。如何做到這一點?
我已經使用Intent從我的活動的ImageView中選擇了SD卡中的圖像,現在我想要顯示一個固定大小的移動矩形,即我們必須使用手勢和我們想要的圖像的任何部分,那麼我們就可以裁剪那個。我們該怎麼做呢?對我來說真的很難? 請幫我這麼做?運行時裁剪android中的圖像
更新 - >我已經能夠把矩形和我得到裁剪和保存選定部分的問題。如何做到這一點?
ok geetanjali。試試這個代碼,這將打開庫,你可以挑選一張照片,作物,它將存儲與名字從蘋果開始,您可以在活動見裁剪圖像
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Intent photoPickerIntent = new Intent(Intent.ACTION_PICK);
photoPickerIntent.setType("image/*");
photoPickerIntent.putExtra("crop","true");
photoPickerIntent.putExtra(MediaStore.EXTRA_OUTPUT, getTempFile());
photoPickerIntent.putExtra("outputFormat", Bitmap.CompressFormat.JPEG.toString());
startActivityForResult(photoPickerIntent, 1);
}
private Uri getTempFile() {
if (isSDCARDMounted()) {
String f;
muri = Uri.fromFile(new File(Environment.getExternalStorageDirectory(),
"apple_" + String.valueOf(System.currentTimeMillis()) + ".jpg"));
//File f = new File(Environment.getExternalStorageDirectory(),"titus1.jpg");
try {
f=muri.getPath();
} catch (Exception e) {
}
return muri;
} else {
return null;
}
}
private boolean isSDCARDMounted(){
String status = Environment.getExternalStorageState();
if (status.equals(Environment.MEDIA_MOUNTED))
return true;
return false;
}
protected void onActivityResult(int requestCode, int resultCode,
Intent imageReturnedIntent) {
super.onActivityResult(requestCode, resultCode, imageReturnedIntent);
switch (requestCode) {
case 1:
if (resultCode == RESULT_OK) {
String filePath= muri.getPath();
Log.e("path", "filePath");
Toast.makeText(this, filePath, Toast.LENGTH_LONG).show();
Bitmap selectedImage = BitmapFactory.decodeFile(filePath);
image = (ImageView)findViewById(R.id.image);
image.setImageBitmap(selectedImage);
}
}
}
這篇文章解釋了關於select and crop image in android,希望它有幫助。
你想在你感興趣的區域可以裁剪圖像,你想要這個嗎?清除答案plz – Abhi
是的,只要我想裁剪我就可以。 – Geetanjali