这里有一些老帖子,但事情似乎已经发生了变化。昨天我得到了a straightforward way to crop an image using an intent的答案。问题的第二部分是向预览添加旋转功能。有谁知道我如何添加此功能?如果它相当复杂,有没有人知道那里有一个例子?
答案 0 :(得分:2)
我遇到了同样的问题,并使用了这种解决方法。调用的Intent使用URI,而大多数旋转解决方案使用Bitmap。所以我做的是:
从URI
中检索位图 Bitmap bmCameraCapture = BitmapFactory.decodeFile(Uri.fromFile(photo).getPath());
照片是您在触发相机意图时定义的新文件。
旋转位图
public Uri getImageUri(Context inContext, Bitmap inImage) { ByteArrayOutputStream bytes = new ByteArrayOutputStream(); inImage.compress(Bitmap.CompressFormat.JPEG, 100, bytes); String path = Images.Media.insertImage(inContext.getContentResolver(), inImage, "Title",null); return Uri.parse(path); }
4。根据此新URI
触发裁剪意图我假设你错过了第1步& 3并且知道如何做其他两个。
答案 1 :(得分:0)
尝试使用它来实现旋转
Bitmap bMap = BitmapFactory.decodeResource(getResources(),R.drawable.test);
Matrix mat = new Matrix();
mat.postRotate(90);
Bitmap bMapRotate = Bitmap.createBitmap(bMap, 0, 0,
bMap.getWidth(), bMap.getHeight(), mat, true);
BitmapDrawable bmd = new BitmapDrawable(bMapRotate);
image.setImageBitmap(bMapRotate);
image.setImageDrawable(bmd);
希望有所帮助
答案 2 :(得分:0)