gpt4 book ai didi

android - 如何在不改变位图大小的情况下使位图压缩?

转载 作者:IT王子 更新时间:2023-10-28 23:44:18 24 4
gpt4 key购买 nike

我用这个方法压缩一张图片

if(bitmapObject.compress(Bitmap.CompressFormat.PNG, 100, fOut))
{
...
}

但是我得到的图像比压缩操作之前小得多(在维度上)。

我的应用程序需要通过网络发送压缩图像 - 所以我想发送尽可能少的数据......但我必须保持图像的原始大小。

还有其他方法可以通过一些压缩来保持原始位图尺寸吗?

最佳答案

你确定它更小吗?

Bitmap original = BitmapFactory.decodeStream(getAssets().open("1024x768.jpg"));
ByteArrayOutputStream out = new ByteArrayOutputStream();
original.compress(Bitmap.CompressFormat.PNG, 100, out);
Bitmap decoded = BitmapFactory.decodeStream(new ByteArrayInputStream(out.toByteArray()));

Log.e("Original dimensions", original.getWidth()+" "+original.getHeight());
Log.e("Compressed dimensions", decoded.getWidth()+" "+decoded.getHeight());

12-07 17:43:36.333: E/Original   dimensions(278): 1024 768
12-07 17:43:36.333: E/Compressed dimensions(278): 1024 768

也许您从资源中获取位图,在这种情况下,位图尺寸将取决于手机屏幕密度

Bitmap bitmap=((BitmapDrawable)getResources().getDrawable(R.drawable.img_1024x768)).getBitmap();
Log.e("Dimensions", bitmap.getWidth()+" "+bitmap.getHeight());

12-07 17:43:38.733: E/Dimensions(278): 768 576

关于android - 如何在不改变位图大小的情况下使位图压缩?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8417034/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com