public void onPreviewFrame(byte[] data, Camera camera)从摄像头获得的是byte[]数组的RGB565编码数据
解决方案 »
- 搞不清楚android的binder机制
- 一个新手的疑问, 急~~~~~~~~~~~~~~
- 重新签名apk问题
- Android 开发环境
- Android画布刷新问题。
- intent 小问题
- 在cygwin下用NDK编译CPP工程时需要在.mk文件里面怎么写才能生成map文件,这个文件包含C++工程中所有函数的入口地址
- Listview 滚动到其顶端或者底部
- android一般用什么技术实现购物车的功能?
- Android开发时出现java.lang.VerifyError:指向自己的实例化..
- 新人求助两个个问题 关于android开发。。。。求高手指点下
- No target available
config选RGB_565
for (int i = 0; i < 153600; i += 2) {
tmpData = (int) (rgbBuf[i + 1] & 0xff) << 8;
nextData = (int) (rgbBuf[i] & 0xff);
sum = tmpData + nextData;
sum = (sum & 0xffc0) >> 1 | ((char) (sum & 0x001f));
tmp = intToWord(sum);
data[i] = tmp[0];
data[i + 1] = tmp[1];
}
public static byte[] convertRgb2Bmp(byte[] rgbBuf, byte[] header)
throws Exception {
ByteArrayOutputStream bos = new ByteArrayOutputStream();
try {
bos.write(header);
for (int i = 0; i < 153600; i += 2) {
tmpData = (int) (rgbBuf[i + 1] & 0xff) << 8;
nextData = (int) (rgbBuf[i] & 0xff);
sum = tmpData + nextData;
sum = (sum & 0xffc0) >> 1 | ((char) (sum & 0x001f));
tmp = intToWord(sum);
data[i] = tmp[0];
data[i + 1] = tmp[1];
}
bos.write(data);
bos.flush();
} catch (Exception ex) {
ex.printStackTrace();
throw ex;
} finally {
bos.close();
}
return bos.toByteArray();
} public static byte[] formatBMPHeader() throws Exception {
ByteArrayOutputStream bos = new ByteArrayOutputStream();
try {
bos.write(new byte[] { 'B', 'M' });
// bos.write(intToDWord(width * height * 2 + 0x36));
bos.write(intToDWord(320 * 240 * 2 + 0x36));
bos.write(intToDWord(0));
bos.write(intToDWord(0x36));
bos.write(intToDWord(0x28));
// bos.write(intToDWord(width));
// bos.write(intToDWord(height));
bos.write(intToDWord(320));
bos.write(intToDWord(240));
bos.write(intToWord(1));
bos.write(intToWord(16));
bos.write(intToDWord(0));
bos.write(intToDWord(0));
bos.write(intToDWord(0));
bos.write(intToDWord(0));
bos.write(intToDWord(0));
bos.write(intToDWord(0));
} catch (Exception ex) {
ex.printStackTrace();
throw ex;
} finally {
bos.close();
}
return bos.toByteArray();
}