с помощью пользовательской камеры, как мы можем показать предварительный просмотр полноразмерного изображения после щелчка изображения с камеры, нажатой и в режиме предварительного просмотра, если мы можем показать, следует ли принимать изображение или отбрасывать изображение перед сохранением его на SD-карте. (Подсказка: используемый в watsapp)Как показать предварительный просмотр изображения?
0
A
ответ
0
вы получите изображение в байт [], вы можете преобразовать этот байт [] в растровое изображение и показать его в ImageView
Bitmap bitmap = BitmapFactory.decodeByteArray(yourbytearray, 0, yourbytearray.length);
0
Полный код согласно вашему требованию, приводится ниже , Просто следуйте этому примеру. Здесь uImage - битмап, а изображениеView - это изображение, в котором будет отображаться ваше изображение.
private void selectImage() {
final CharSequence[] options = { "Take Photo", "Choose from Gallery","Cancel" };
AlertDialog.Builder builder = new AlertDialog.Builder(AddownRecipeFromHome.this);
builder.setTitle("Add Photo!");
builder.setItems(options, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int item) {
if (options[item].equals("Take Photo"))
{
Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
File f = new File(android.os.Environment.getExternalStorageDirectory(), "temp.jpg");
intent.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(f));
startActivityForResult(intent, 1);
}
else if (options[item].equals("Choose from Gallery"))
{
Intent intent = new Intent(Intent.ACTION_PICK,android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI);
startActivityForResult(intent, 2);
}
else if (options[item].equals("Cancel")) {
dialog.dismiss();
}
}
});
builder.show();
}
private Uri getTempUri() {
return Uri.fromFile(getTempFile());
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (resultCode == RESULT_OK) {
if (requestCode == 1) {
File f = new File(Environment.getExternalStorageDirectory().toString());
for (File temp : f.listFiles()) {
if (temp.getName().equals("temp.jpg")) {
f = temp;
break;
}
}
try {
BitmapFactory.Options bitmapOptions = new BitmapFactory.Options();
uImage = BitmapFactory.decodeFile(f.getAbsolutePath(),
bitmapOptions);
imageView.setImageBitmap(uImage);
String path = android.os.Environment
.getExternalStorageDirectory()
+ File.separator
+ "Phoenix" + File.separator + "default";
f.delete();
OutputStream outFile = null;
File file = new File(path, String.valueOf(System.currentTimeMillis()) + ".jpg");
try {
outFile = new FileOutputStream(file);
uImage.compress(Bitmap.CompressFormat.JPEG, 85, outFile);
outFile.flush();
outFile.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} catch (Exception e) {
e.printStackTrace();
}
} catch (Exception e) {
e.printStackTrace();
}
} else if (requestCode == 2) {
Uri selectedImage = data.getData();
String[] filePath = { MediaStore.Images.Media.DATA };
Cursor c = getContentResolver().query(selectedImage,filePath, null, null, null);
c.moveToFirst();
int columnIndex = c.getColumnIndex(filePath[0]);
String picturePath = c.getString(columnIndex);
c.close();
uImage = (BitmapFactory.decodeFile(picturePath));
Log.e("path of imag", ""+picturePath);
imageView.setImageBitmap(uImage);
}
else if (requestCode == 3) {
try {
Log.e("testing", "return data is " + data.getData());
String filePath = Environment.getExternalStorageDirectory()
+ "/" + TEMP_PHOTO_FILE;
System.out.println("path " + filePath);
uImage = BitmapFactory.decodeFile(filePath);
ByteArrayOutputStream bao = new ByteArrayOutputStream();
uImage.compress(Bitmap.CompressFormat.PNG, 100, bao);
ba = bao.toByteArray();
imageView.setImageBitmap(uImage);
} catch (Exception e) {
e.printStackTrace();
}
}
}
private File getTempFile() {
if (Environment.getExternalStorageState().equals(
Environment.MEDIA_MOUNTED)) {
File file = new File(Environment.getExternalStorageDirectory(),
TEMP_PHOTO_FILE);
try {
file.createNewFile();
} catch (IOException e) {
}
return file;
} else {
return null;
}
}
Смежные вопросы
- 1. Как показать предварительный просмотр изображения
- 2. Показать предварительный просмотр изображения в виде
- 3. Показать предварительный просмотр изображения до загрузки
- 4. Получить предварительный просмотр изображения?
- 5. Как показать предварительный просмотр улиц
- 6. iPhone - предварительный просмотр изображения
- 7. Предварительный просмотр изображения
- 8. Предварительный просмотр изображения перед загрузкой?
- 9. генерировать предварительный просмотр BMP-изображения
- 10. Показать предварительный просмотр изображения камеры после щелчка изображения
- 11. Как показать изображения из видео как предварительный просмотр для плейлиста
- 12. Показать Jwplayer Предварительный просмотр изображения из видео без изображения
- 13. Предварительный просмотр изображения в списке
- 14. Как показать предварительный просмотр выбранных файлов
- 15. Как показать предварительный просмотр изображения на миниатюре hover
- 16. Как показать предварительный просмотр изображения при загрузке на Android?
- 17. Как показать предварительный просмотр в PictureBox?
- 18. Показать предварительный просмотр веб-сайта
- 19. Предварительный просмотр изображения в Flex
- 20. Предварительный просмотр изображения перед загрузкой
- 21. Предварительный просмотр изображения перед сохранением
- 22. Azure медиапроигрыватель Предварительный просмотр изображения
- 23. Предварительный просмотр загруженного файла (изображения)
- 24. TKinter: Предварительный просмотр изображения - Кнопки
- 25. Показать предварительный просмотр onkey с textarea
- 26. Предварительный просмотр изображения readonly/disabled
- 27. Dropzone.js Предварительный просмотр изображения позиционирования
- 28. Предварительный просмотр изображения перед загрузкой
- 29. Предварительный просмотр последнего загруженного изображения
- 30. Предварительный просмотр изображения в javascript
Я предлагаю выполнить программно, Capture image-> создать временную директорию на SD-карте (например, whtsapp), сохранить ее. Убедитесь, что вы сжимаете его. Извлеките изображение с этого пути и покажите его. Вы можете использовать его для переполнения стека для каждого упомянутого мною шага. Вы также можете столкнуться с исключениями OOM, если растровые изображения не обрабатываются должным образом. – rmdroid
Прошу вас показать мне какой-либо пример этого кода? – radhika
Я направлю вас на решение. Перейдите по ссылке ниже. Камера api хорошо объясняется. http://www.androidhive.info/2013/09/android-working-with-camera-api/ – rmdroid