好的,所以整天在这个人身上绞尽脑汁。试图弄清楚如何将Bitmap从画布转换为Android中的1bpp(每像素位数)位图文件并实际保存它。
到目前为止,我已遍历位图并将结果像素值的int []创建为1或0。但是,我的下一个问题是我该怎么办?
我尝试做的事情就像是
int[] bits = // populated earlier
byte[] bmp = new byte[bits.length / 8];
int byteindex = 0;
int bitindex = 0;
for (int i=0; i<bits.length; i++) {
if (bits[i] == 1)
// set to 1
else
// set to 0
if (bitindex++ == 8) {
bitindex = 0;
byteindex++;
}
}
OutputStream out = new FileOutputStream("/mnt/sdcard/dynbmp.bmp");
out.write(bmp);
out.close();
我从中获取了一个文件,但它显然不是一个有效的bmp文件。谁知道它是什么。你不得不原谅我缺乏位字节和成像知识,但我在哪里搞砸了?这个想法完全错了吗?我错过了一些标题信息吗?