Android webview中insampleSize和compress之间有什么区别?

时间:2016-07-21 08:07:00

标签: android option capture

当我在Google搜索此主题时, 1。

BitmapFactory.Options options = new BitmapFactory.Options();
            options.inPreferredConfig = Bitmap.Config.ARGB_8888;
            options.inSampleSize = 3;
            if (bitmap == null) {
                bitmap = BitmapFactory.decodeFile(filePath, options);
            }

这意味着文件像素缩小为1000 * 1000到300 * 300。 和

2

bitmap.compress(CompressFormat.JPEG, 80, bos);

这意味着尺寸(文件量)减少了1000kb - > 800KB。

是不是? 因为......当我上传一些图片时,如果文件很大,我就无法上传。 (我检查文件量减少了第二路,而不是第一路)

所以我尝试第一种方式但也失败了。但是当我尝试第二种方式时,我获得了成功!!

所以这就是我问这个问题的原因。

C.f> 如果我裁剪位图,位图会改变???

    Bitmap croppedBitmap = null;
        if (i!=cnt) {
            if ((croppedStart + pageHeight) > webview.getMeasuredHeight()) {
                int lastHeight = webview.getMeasuredHeight() - croppedStart;
                croppedBitmap = Bitmap.createBitmap(bitmap, 0, croppedStart, webview.getMeasuredWidth(),lastHeight-1);
            } else {
                try{
                croppedBitmap = Bitmap.createBitmap(bitmap, 0, croppedStart, webview.getMeasuredWidth(), pageHeight);
                }catch(Exception e){
                    e.printStackTrace();
                }
            }
            croppedStart += pageHeight;
            rtn.add(croppedBitmap);
        }

执行此操作后,我的位图(原始)将fullBtimap更改为Last croppedBitmap。 还谢谢!

1 个答案:

答案 0 :(得分:1)

质量仅适用于jpeg这样的有损格式,会影响quality of the imageinSampleSize请求对原始图像进行二次采样。它会影响宽度和高度,这意味着最终图像的宽度和高度将1/inSampleSize更小