1

我正在动态地将图像和文本视图添加到捕获的照片中。下面是我在添加视图后保存照片的代码。拍摄的照片大小为 1.3MB(照片由 3MP 相机拍摄),但保存的照片大小仅为 50KB。我将如何增加生成的文件大小以获得最大分辨率?

    photoLayout.setDrawingCacheEnabled(true);

    Bitmap b = Bitmap.createBitmap(photoLayout.getDrawingCache());       

    photoLayout.setDrawingCacheEnabled(false);    

    FileOutputStream fos = new FileOutputStream(path);
    b.compress(CompressFormat.PNG, 100, fos);
    fos.close();
4

3 回答 3

0

如果您的文件只有 50k,请检查源位图 - 您可以使用图像缩略图而不是原始图像。如果你加载一个大文件并且你不调整它的大小,那么没有理由得到一个这么小的文件。文件大小应与原始文件大小相似。

您可以发布加载位图的代码吗?我几乎可以肯定你加载了缩略图!

编辑:从相机获取照片:从相机捕获图像并在活动中显示

于 2012-07-10T06:33:55.307 回答
0

从位图格式转换为 PNG 格式将减小文件大小。查看您的输出图像是否具有所需的分辨率。位图格式是一种未压缩的格式,用于存储有关图像的每个单个像素的信息。

于 2012-07-10T05:41:56.007 回答
0

这可能有用: How to make Bitmap compress without change the bitmap size?

于 2012-07-10T05:47:05.580 回答