如何在Android中以编程方式减少图像?

时间:2014-07-01 12:20:55

标签: android

我使用以下代码以编程方式在我的Android应用程序中截取屏幕截图。它工作正常。我看到的问题是,它是截取整个布局和查看的截图。当我在Tablet中执行此操作时,它会将平板电脑放在更大尺寸的屏幕上,因此我在查看时遇到问题。我可以减小这个图像大小吗?例如:如果正在截取视图的屏幕截图,即1920 x 1200,我可以将此图像进一步以编程方式将其缩小为1200 * 650吗?

public static Bitmap loadBitmapFromView(Context context, View v) {
        DisplayMetrics dm = context.getResources().getDisplayMetrics();

        v.measure(MeasureSpec.makeMeasureSpec(dm.widthPixels, MeasureSpec.EXACTLY),
                MeasureSpec.makeMeasureSpec(dm.heightPixels, MeasureSpec.EXACTLY));

        v.layout(0, 0, v.getMeasuredWidth(), v.getMeasuredHeight());

        Bitmap returnedBitmap = Bitmap.createBitmap(v.getMeasuredWidth(),
                v.getMeasuredHeight(), Bitmap.Config.ARGB_8888);

        Canvas canvas = new Canvas(returnedBitmap);

        v.draw(canvas);
        return returnedBitmap;
    }

1 个答案:

答案 0 :(得分:0)

试试这个:

Bitmap resizedImage = Bitmap.createScaledBitmap(old_bitmap,desiredimageWidth,desiredimageHeight, true);