在imageview中移动位图

时间:2012-03-18 17:13:45

标签: android bitmap position imageview

所以这是我的问题。我有一个包含大位图的图像视图(意味着由于位图大于图像视图,因此imageview只显示其中的一部分)。我希望能够在坐标x,y(x和y是位图的坐标)的imageview中居中位图。

知道如何实现它吗?

此致 罗布

1 个答案:

答案 0 :(得分:0)

尝试

ImageView.ScaleType FIT_CENTER

请参阅文档http://developer.android.com/reference/android/widget/ImageView.ScaleType.html

现在取决于您的位图的大小,您可能希望通过使用类似的东西来减小它的大小

private Bitmap decodeFile(File f) {
    Bitmap b = null;
    try {
        // Decode image size
        BitmapFactory.Options o = new BitmapFactory.Options();
        o.inJustDecodeBounds = true;

        FileInputStream fis = new FileInputStream(f);
        BitmapFactory.decodeStream(fis, null, o);
        fis.close();

        int scale = 1;
        if (o.outHeight > 1024 || o.outWidth > 900) {
            scale = (int) Math.pow(2, (int) Math.round(Math.log(1024 / (double) Math.max(o.outHeight, o.outWidth)) / Math.log(0.5)));
        }

        // Decode with inSampleSize
        BitmapFactory.Options o2 = new BitmapFactory.Options();
        o2.inSampleSize = scale;
        fis = new FileInputStream(f);
        b = BitmapFactory.decodeStream(fis, null, o2);
        fis.close();
    } catch (IOException e) {
    }
    return b;
}

How to scale bitmap to screen size?