2013-03-25 43 views
0

我想裁剪图像。但我遇到了一个问题:定义作物的大小

如何定义裁剪的默认大小。我希望矩形出现在作物上以定义它的大小和位置。

问候

Wazol

+0

你有甚至尝试什么吗?如果你有,请告诉我们你正在使用的代码请 – Reinherd 2013-03-25 11:58:07

+0

我已经尝试了selva使用的代码。我只找到了,但它不是我想要的 – user2194639 2013-03-25 12:05:45

回答

0

使用下面的代码

你可以使用这个链接也供你参考

点击Crop image using rectengle

int targetWidth = 100; 
     int targetHeight = 100; 
     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

你能解释一下代码吗请 – user2194639 2013-03-25 12:04:21

+0

查看下面的链接以获得解释。 – user1835052 2013-03-25 12:09:03

+0

上面的代码将图像的高度和宽度裁剪为100 ... – user1835052 2013-03-25 12:12:15

0

使用意图添加长宽比增加outputX和outputY参数

Intent intent = new Intent("com.android.camera.action.CROP"); 
    intent.setType("image/*"); 
    intent.setData(mImageCaptureUri); 

    intent.putExtra("outputX", 200); 
    intent.putExtra("outputY", 250); 
    intent.putExtra("scale", true); 
    intent.putExtra("return-data", true); 
    startActivityForResult(i, CROP_FROM_CAMERA); 
+1

请勿使用此意图。 CROP行动不存在于所有Android设备中,有些存在,行为不同。实现此目的的最佳方式是创建一个具有定义的宽度和高度的自定义相机,以便用户在拍摄照片时裁剪它。 – Reinherd 2013-03-25 11:56:58

+0

没有其他方法可以裁剪自定义相机上定义宽度和高度的图像吗?我只想定义一个基本作物的默认大小和位置 – user2194639 2013-03-25 12:02:37

+0

@ SergiCastellsaguéMillánthanx为您提供很好的信息。 – SelvaMariappan 2013-03-25 12:03:07