在android中将图像大小设置为全屏

时间:2011-08-02 12:21:49

标签: android image

我有一个Android应用程序,我正在使用Android相机拍照。 这张照片是在activity A中拍摄的,之后会被发送到编辑的activity B

这是我在activity B中收到我的图片的方式:

Bundle extras = getIntent().getExtras();
BitmapFactory.Options options=new BitmapFactory.Options();
        options.inSampleSize = 5;
        byte[] imageData = extras.getByteArray("imageData");
        Bitmap myImage = BitmapFactory.decodeByteArray(imageData , 0, imageData.length,options);

        Matrix mat=new Matrix();
        mat.postRotate(90);
        bitmapResult = Bitmap.createBitmap(myImage, 0, 0, myImage.getWidth(), myImage.getHeight(), mat, true); 
 ImageView imageView = (ImageView) findViewById(R.id.myPic);
        imageView.setImageBitmap(bitmapResult);

正如你所看到的那样,我正在使用90来旋转我收到的bitmap

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而不是整齐的。正如你在这里看到的那样:

enter image description here

如果你可以帮助我增加一点点的尺寸,我会真的很赞成它。谢谢

编辑:我只想增加图像的宽度。请!

3 个答案:

答案 0 :(得分:5)

您可以使用ImageView.ScaleType

ImageView.ScaleType="CENTER_CROP"

答案 1 :(得分:4)

您可能需要裁剪图像。因为图像不是全高,所以图像的宽度按比例缩小,因此两侧的黑色条带。

更具体地说,使用手机的相机拍摄的图像可能是准确地适合屏幕,即图像的宽高比=屏幕的宽高比。但是,在您的应用程序中,图像的高度受到顶部按钮的限制,因此为了保持图像的宽高比,图像的宽度按比例缩小。

答案 2 :(得分:4)

请参阅setScaleType

您可以使用CENTER_CROP获取全屏图像并保持图像的宽高比。