当我在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。 还谢谢!
答案 0 :(得分:1)
质量仅适用于jpeg这样的有损格式,会影响quality of the image。 inSampleSize
请求对原始图像进行二次采样。它会影响宽度和高度,这意味着最终图像的宽度和高度将1/inSampleSize
更小