我有一个
Android应用程序,我正在使用Android相机拍照.
这张照片是在活动A中拍摄的,然后被发送到活动B,在那里进行编辑.
这张照片是在活动A中拍摄的,然后被发送到活动B,在那里进行编辑.
这就是我在活动B中收到我的图像的方式:
Bundle extras = getIntent().getExtras(); BitmapFactory.Options options=new BitmapFactory.Options(); options.inSampleSize = 5; byte[] imageData = extras.getByteArray("imageData"); Bitmap myImage = BitmapFactory.decodeByteArray(imageData,imageData.length,options); Matrix mat=new Matrix(); mat.postRotate(90); bitmapResult = Bitmap.createBitmap(myImage,myImage.getWidth(),myImage.getHeight(),mat,true); ImageView imageView = (ImageView) findViewById(R.id.myPic); imageView.setImageBitmap(bitmapResult);
正如你所看到的那样,我用90旋转我收到的位图:
Matrix mat=new Matrix(); mat.postRotate(90);
这是xml文件中的imageView:
<ImageView android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_gravity="center" android:id="@+id/myPic" />
我面临的问题是我的照片不是全屏……它是完整的screnn而不是整齐的.你可以在这里看到:
如果你可以帮助我增加一点它的大小我会真的很赞成它.谢谢
编辑:我只想增加我的图像的宽度.谢!
解决方法
您可能需要裁剪图像.因为图像不是全高,所以图像的宽度按比例缩小,因此两侧的黑条.
更具体地说,使用手机的相机拍摄的图像可能是准确地适合屏幕,即图像的宽高比=屏幕的宽高比.但是,在您的应用程序中,图像的高度受到顶部按钮的限制,因此为了保持图像的宽高比,图像的宽度按比例缩小.