如何以编程方式减少图像中的Andr​​oid? [英] How to reduce image programmatically in Android?

查看:142
本文介绍了如何以编程方式减少图像中的Andr​​oid?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我用下面的code编程服用屏幕截图在我的Andr​​oid应用程序。这是工作的罚款。我看到的问题是,它走的是整个布局的屏幕截图和观看。当我在平板执行此,它正在平板电脑更大尺寸的屏幕,所以我在观看一个问题。我可以减少这种图像的大小?例如:如果它走的观点,这是1920×1200的截图,我可以降低这种形象进一步编程为1200 * 650,像

 公共静态位图loadBitmapFromView(上下文的背景下,视图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());        位图returnedBitmap = Bitmap.createBitmap(v.getMeasuredWidth(),
                v.getMeasuredHeight(),Bitmap.Config.ARGB_8888);        帆布帆布=新的Canvas(returnedBitmap);        v.draw(画布);
        返回returnedBitmap;
    }


解决方案

试试这个:

 位图resizedImage = Bitmap.createScaledBitmap(old_bitmap,desiredimageWidth,desiredimageHeight,真正的);

I am programmatically taking screenshot of the screen in my android app using the following code. It is working fine. The problem I see is, it is taking screenshot of the entire layout and viewing. When I execute this in Tablet, it is taking tablet the bigger size screen, so i have a problem in viewing. Can I reduce this image size? For example: If it is taking screenshot of the view, which is 1920 x 1200, Can I reduce this image further programmatically to 1200 * 650, like that?

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;
    }

解决方案

Try this:

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

这篇关于如何以编程方式减少图像中的Andr​​oid?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆