从ImageView减小图像的文件大小

时间:2016-02-23 02:45:34

标签: android bitmap imageview android-volley

我使用以下代码从ImageView获取位图。此图像不会保存在我的设备上的任何其他位置。我想将此图像上传到在线mysqli数据库中。但是,要这样做,我需要先减小文件的大小。我发现了很多关于此的链接,但是它们都需要将文件保存在设备上然后使用FileOutputStream。我正在寻找一种方法来减小文件大小,以便可以使用Volley API轻松传输(我目前正在接收内存异常耗尽或管道错误)。因此,我正在寻找一种方法来修改此代码,以便能够显着减小文件大小,同时仍然保持可以在移动设备上舒适地显示的质量。原始图像是从相机直接拍摄的,因此尺寸非常大。这是我的代码:

ImageView pic_holder = (ImageView) findViewById(R.id.picturedisplay);
            Bitmap bitmap = ((BitmapDrawable)pic_holder.getDrawable()).getBitmap();
            ByteArrayOutputStream stream=new ByteArrayOutputStream();

            bitmap.compress(Bitmap.CompressFormat.PNG, 90, stream);
            byte[] image=stream.toByteArray();
            String img_str = Base64.encodeToString(image, 0);

我想减少传递给我的Volley方法的img_str的大小。

0 个答案:

没有答案