안드로이드로
-
Intent intent =
new Intent(
android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
File file =
new File(path,
"test_picture.bmp");
intent.putExtra(android.provider.MediaStore.EXTRA_OUTPUT, uri);
-
이렇게 해서 test_picture.bmp에 찍은 사진 데이터를 씌웁니다.
이후
FileInputStream input_stream =
null;
input_stream = openFileInput(
"test_picture.bmp");
read_size = input_stream.read(send_data, 0, data_size);
m_sock_out_stream.write(send_data, 0, data_size);
이렇게 해서 네트워크로 서버에 전송을합니다. 서버에서는 바이트 배열에 저 데이터를 다 쌓아놓은 상태
입니다.
c++로 bmp 이미지 파일로 출력하는걸 보면 가로, 세로, 비트수 등 BITMAPFILEHEADER, BITMAPINFOHE
ADER 포맷 정의가 필요하던데 저 fileinputstream으로 불러온 데이터(전송된 데이터)에 그 정보가 다
포함되는건가요? 아니면 저 test_picture.bmp의 정보를 따로 알고 있어야 하나요?
궁극적으로 저렇게 보내는 데이터를 bmp파일로 writefile 하고싶습니다. 그런데 안드로이드에서 intent
를 이용해서 찍은 사진의 반환값, putExtra에 뭐가 들어가는질 몰라서...
.bmp라고 되어있지만 .jpg라고 해도 작동합니다. 확장자는 어찌되도 상관없는건지, 그렇다면 저렇게
보내온 값이 포맷정보는 없고 순수 이미지, 컬러정보만 들어있는건지...
|