在不改变大小的情况下将 JPG 转换为位图
Converting JPG to Bitmap with-out changing size
我将 .jpg
图片保存在我的 cache
文件夹中。图像为 4,032x3,024(24 位颜色),重量为 3.35MB。
现在,我想将这个完全相同的 jpg
转换为 bitmap
.
我使用了代码:
val bitmapFromJpg = BitmapFactory.decodeFile(jpgFile.absolutePath)
但令我惊讶的是它会自动更改图像的原始大小 - 1,024x768(32 位)。
甚至
val opts = BitmapFactory.Options()
opts.inSampleSize = 1
val bitmapFromJpg = BitmapFactory.decodeFile(jpgFile.absolutePath, opts)
结果是一样的...
为什么会出现这种情况以及如何避免(我想保持原始大小)?
是的,你可以改变 inScaled
默认值为true
,试试这个代码
val opts = BitmapFactory.Options()
opts.inSampleSize = 1
opts.inScaled = false
val bitmapFromJpg = BitmapFactory.decodeFile(jpgFile.absolutePath, opts)
我对此进行了测试,我的 jpg
图像大小(HeightXWidth)是 600X600,在转换为 bitmap
后它保持不变 600X600。
我将 .jpg
图片保存在我的 cache
文件夹中。图像为 4,032x3,024(24 位颜色),重量为 3.35MB。
现在,我想将这个完全相同的 jpg
转换为 bitmap
.
我使用了代码:
val bitmapFromJpg = BitmapFactory.decodeFile(jpgFile.absolutePath)
但令我惊讶的是它会自动更改图像的原始大小 - 1,024x768(32 位)。
甚至
val opts = BitmapFactory.Options()
opts.inSampleSize = 1
val bitmapFromJpg = BitmapFactory.decodeFile(jpgFile.absolutePath, opts)
结果是一样的...
为什么会出现这种情况以及如何避免(我想保持原始大小)?
是的,你可以改变 inScaled
默认值为true
,试试这个代码
val opts = BitmapFactory.Options()
opts.inSampleSize = 1
opts.inScaled = false
val bitmapFromJpg = BitmapFactory.decodeFile(jpgFile.absolutePath, opts)
我对此进行了测试,我的 jpg
图像大小(HeightXWidth)是 600X600,在转换为 bitmap
后它保持不变 600X600。