2014-04-04 146 views
0

我檢查了很多討論,但我似乎無法找到答案。我如何裁剪和照相機拍攝的大圖像並將其裁剪爲640x640像素大小?我回來了URI從相機拍攝的作物大圖像到640x640像素

編輯:我想讓用戶裁剪圖像!

+0

你是從使用相機拍攝的意圖形象? – OAEI

+0

是的,我是。 MediaStore.ACTION_IMAGE_CAPTURE – Pheonix7

回答

0

使用下面的代碼

你可以使用這個鏈接也供你參考

點擊Crop image using rectengle

int targetWidth = 640; 
int targetHeight = 640; 
Bitmap targetBitmap = Bitmap.createBitmap(
    targetWidth, targetHeight, Bitmap.Config.ARGB_8888); 
Canvas canvas = new Canvas(targetBitmap); 
Path path = new Path(); 
path.addRect(rectf, Path.Direction.CW); 
canvas.clipPath(path); 
canvas.drawBitmap(sourceBitmap, 
    new Rect(0, 0, sourceBitmap.getWidth(), sourceBitmap.getHeight()), 
    new Rect(0, 0, targetWidth, targetHeight), null); 
ImageView imageView = (ImageView) findViewById(R.id.my_image_view); 
imageView.setImageBitmap(targetBitmap); 
0

另一種解決方案是使用createScaledBitmap人用來創建縮略圖。

byte[] imageData = null; 

    try  
    { 

     final int THUMBNAIL_SIZE = 64; 

     FileInputStream fis = new FileInputStream(fileName); 
     Bitmap imageBitmap = BitmapFactory.decodeStream(fis); 

     imageBitmap = Bitmap.createScaledBitmap(imageBitmap, THUMBNAIL_SIZE, THUMBNAIL_SIZE, false); 

     ByteArrayOutputStream baos = new ByteArrayOutputStream(); 
     imageBitmap.compress(Bitmap.CompressFormat.JPEG, 100, baos); 
     imageData = baos.toByteArray(); 

    } 
    catch(Exception ex) { 

    } 

您的位圖imageBitmap可能必須直接來自您的相機而不是文件,但總的想法保持不變。

0

您可以使用

private Bitmap crop(Bitmap src, int x, int y, int width, int height) { 
    Bitmap dst = Bitmap.createBitmap(width, height, Bitmap.Config.ARGB_8888); 
    Canvas canvas = new Canvas(dst); 
    canvas.drawBitmap(src, new Rect(0, 0, src.getWidth(), src.getHeight()), 
          new Rect(x, y, width, height), null); 
    return dst; 
} 

類型的參數是自我解釋。

祝你好運。

0

試試這個代碼,使用intent對象:

intent.setType("image/*"); 
intent.putExtra("outputX", int_Height_crop); 
intent.putExtra("outputY", int_Width_crop); 
intent.putExtra("aspectX", 1); 
intent.putExtra("aspectY", 1); 
intent.putExtra("scale", true); 
+0

問題是我只能得到240x240p!沒有更多....我不知道爲什麼 – Pheonix7

相關問題