В качестве заголовка я хочу обрезать изображение размером 500 * 500. Оно работает на большинстве устройств (например, htc, sonyerrison, motors ..), но в Samsung (Sii / Ace ...).
На самом деле, Samsung Device может работать на 360 * 360, но когда я изменяю размер до 500 * 500.
Поведение довольно странное, когда я ставлю
intent.putExtra("outputX", 500);
intent.putExtra("outputY", 360);
startActivityForResult(intent,PHOTORESOULT),
Это возвращаетсяна onActivityResult()
Вот код обрезки, и я уверен, что в этом URI есть изображение
public void startPhotoZoom(Uri uri) {
Bitmap bitmap =null;
try {
bitmap = MediaStore.Images.Media.getBitmap(
this.getContentResolver(), uri);
Log.v("cropImage","Heigh="+bitmap.getHeight()+" Width="+bitmap.getWidth());
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
int width=bitmap.getWidth();
int height=bitmap.getHeight();
Intent intent = new Intent("com.android.camera.action.CROP");
intent.setDataAndType(uri, IMAGE_UNSPECIFIED);
intent.putExtra("crop", "true");
intent.putExtra("aspectX", 1);
intent.putExtra("aspectY", 1);
if(width < 500 || height < 500){
if(width <= height){
intent.putExtra("outputX", width);
intent.putExtra("outputY", width);
Log.v("cropImage","outputX="+width+" outputY="+width);
}else{
intent.putExtra("outputX", height);
intent.putExtra("outputY", height);
Log.v("cropImage","outputX="+height+" outputY="+height);
}
}else{
intent.putExtra("outputX", 360);
intent.putExtra("outputY", 360);
}
intent.putExtra("noFaceDetection", true);
intent.putExtra("scale", true);
intent.putExtra("return-data", true);
startActivityForResult(intent, PHOTORESOULT);
}
Я борюсь некоторое время ~ Пожалуйста, помогите ~