Android: nie można uzyskać oryginalnego zdjęcia zrobionego aparatem (możliwość odczytu tylko kompresyjnego zdjęcia)
W mojej aplikacji przechwytuję zdjęcie za pomocą aparatu z Androidem, a następnie chcę wysłać je na serwer. Do tego używam programowania Client Socket. Konwertuję zdjęcie przechwytywania na bytearray (bajt []), a następnie wysyłam go na serwer. Każda rzecz działa perfekcyjnie.
Problem polega na tym, że nie mogę wysłać oryginalnego zdjęcia na serwer. Zdjęcie miniatur jest wysyłane przez telefon komórkowy z systemem Android. Ale kiedy przechwytuję zdjęcie za pomocą aparatu, oryginalne zdjęcie znajduje się w Galerii.
Jak wykorzystać to oryginalne zdjęcie w mojej aplikacji?
Mój kod:
Intent cameraIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
cameraIntent.putExtra("outputFormat",Bitmap.CompressFormat.JPEG);
cameraIntent.putExtra("return-data", true);
startActivityForResult(Intent.createChooser(cameraIntent, "Select Picture"),
CAMERA_REQUEST);
W metodzie onActivityResult:
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == CAMERA_REQUEST) {
Bitmap photo = (Bitmap) data.getExtras().get("data");
// byte[] a = (byte[]) data.getExtras().getByteArray("data"); // I also use this but not work
ByteArrayOutputStream bos = new ByteArrayOutputStream();
photo.compress(CompressFormat.JPEG, 100, bos);
byte[] bitmapdata = bos.toByteArray();
}
}
wbitmapdata zdjęcie jest tam, ale skompresowane zdjęcie nie jest oryginalne. Niektórzy ludzie tak mówią, zmieniają pole jakościcompress (CompressFormat.JPEG, 100, bos); między 0 a 100, ale nic się nie wydarzy.
- >> czy istnieje inny sposób, aby uzyskać oryginalne zdjęcie, które jest zrobione przez aparat
- >> Kiedy zdjęcie znajduje się w folderze mojego komputera, czytam to zdjęcie w pliku, podając ścieżkę. dawny-File file = new File (c: newphoto image.jpg); . czy mogę użyć tego kodu w Androidzie, aby przeczytać oryginalne zdjęcie, ponieważ znam nazwę i lokalizację zdjęcia. Jeśli tak, to jaka jest ścieżka odczytu zdjęcia w galerii. Czy to działa, jeśli podaję ścieżkę jako:DCIM Camera Nazwa.jpg.
- >> Albo jakaś potrzeba zmiany w moim obecnym kodzie i będzie działać dobrze?