我有这样的代码:Android获取相机位图的方位?和转回-90度
//choosed a picture
public void onActivityResult(int requestCode, int resultCode, Intent data) {
if (resultCode == RESULT_OK) {
if (requestCode == ImageHelper.SELECT_PICTURE) {
String picture = "";
Uri selectedImageUri = data.getData();
//OI FILE Manager
String filemanagerstring = selectedImageUri.getPath();
//MEDIA GALLERY
String selectedImagePath = ImageHelper.getPath(mycontext, selectedImageUri);
picture=(selectedImagePath!=null)?selectedImagePath:filemanagerstring;
...
这只是一个图片选择器,从画廊。这是很好的,但是当我在imageview上打开这张照片时,图像在相机上拍摄“肖像模式”时看起来不错,但是相机拍摄了“景观模式”的图像以-90度打开。
我该如何旋转这些图片?
Bitmap output = Bitmap.createBitmap(newwidth, newheight, Config.ARGB_8888);
Canvas canvas = new Canvas(output);
我想这:
Log.e("w h", bitmap.getWidth()+" "+bitmap.getHeight());
if (bitmap.getWidth()<bitmap.getHeight()) canvas.rotate(-90);
,但是这是不工作,所有的图像尺寸是:* 2560 1920像素(纵向和横向模式全)
我能做些什么旋转LANDSCAPE图片?
感谢莱斯利
很好的答案,但你如何在矩阵中使用int“旋转”? – Cole
@科尔 - 我已经编辑了我的答案,包括如何在矩阵中使用旋转变量的解释。 –
谢谢你这样彻底的回答! – Cole