2

我的应用程序让用户用相机拍照并返回一个包含图像数据的字节数组(目前为 jpeg,但可以修改)。

如果我们知道图片的宽度和高度,是否可以使用

BitmapFactory.decodeByteArray(data, offset, length)

从指定的偏移量解码图片以获得平方图片?

图像是高分辨率(人像),我只需要这张图片的方形底部仍然是高分辨率的图像处理。

x offset = 0
y offset = height - width
width = width
height = width

我已经看到了这个答案,但我仍然想知道这是否可能。如果需要,我可以用另一种格式压缩图像数据

我的猜测是计算用于存储n像素行的字节数(使用已知尺寸),其中n = maxRows - pictureWidth

然后从计算的偏移量开始

4

1 回答 1

0

首先解码为小尺寸

BitmapFactory.Options opt = new BitmapFactory.Options();
    opt.inSampleSize = 4;  //inSampleSize == 4 returns an image that is 1/4 the width/height of the original, and 1/16 the number of pixels

BitmapFactory.decodeByteArray(data, offset, length, opt)

接着

bitMap1 = Bitmap.createScaledBitmap(bitMap, width, height, true);

尝试这个

于 2012-12-28T10:35:15.630 回答