0

Я делаю приложение для редактирования фотографий в андроиде, и у меня есть две кнопки изображения (одна для камеры, а другая для галереи). Когда я снимаю фото с камеры или выбираю фотографию из галереи, я хочу, чтобы фотография отображалась в другой активности на изображении. Я просто написал код для камеры, но он не работает. Если кто-то может мне помочь, я буду очень благодарен. Я новичок в программировании.показать фотографию, снятую с камеры, или после ее выбора из галереи на другую активность в образе изображения

manifest.xml

<manifest ..> 
<uses-feature android:name = "android.hardware.camera" android:required="false"/> 

первая активность:

public class MainActivity extends Activity { 
private static int IMG_RESULT = 1; 

@Override 
    protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 
    ImageButton take_photo = (ImageButton) findViewById(R.id.cameraButton); 
    ImageButton get_photo = (ImageButton) findViewById(R.id.galleryButton); 
    take_photo.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View v) { 

      Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE); 
      startActivityForResult(intent,0); 

     } 
    protected void onActivityResult(int requestCode, int resultCode, Intent data) { 
    if(requestCode == 0 && resultCode == RESULT_OK) 
    { 
     Bitmap bitmap = (Bitmap)data.getExtras().get("data"); 
     Intent intent = new Intent(this,ShowPhotoActivity.class); 
     intent.putExtra("BitmapImage",bitmap);` 
     startActivity(intent);` 

вторая активность:

public void onCreate(Bundle savedInstanceState) { 
      super.onCreate(savedInstanceState); 
      setContentView(R.layout.activity_show_photo); 
      ImageView showPhoto = (ImageView) findViewById(R.id.imageView); 
      Bitmap bitImage = getIntent().getParcelableExtra("BitmapImage"); 
      showPhoto.setImageBitmap(bitImage); 
+0

Какова реальная проблема? Открывается ли ваша камера? Вы можете захватить изображение. Какие ошибки журнала? – Naz141

+0

Камера открывается, я могу захватить изображение, но он не показывает его в другом действии в представлении изображения. –

+0

Можете ли вы опубликовать xml второго действия, которое хотите открыть изображение, я хочу увидеть '' – Naz141

ответ

0

Код протестирована и работает отлично.

Добавить это на файл манифеста

<uses-feature android:name="android.hardware.camera"></uses-feature> 

Первая активность

@Override 
protected void onActivityResult(int requestCode, int resultCode, Intent data) { 
    super.onActivityResult(requestCode, resultCode, data); 
    if(requestCode == 0 && resultCode == RESULT_OK){ 
     Bitmap bitmap = (Bitmap)data.getExtras().get("data"); 
     Intent intent = new Intent(this,ShowPhotoActivity.class); 
     intent.putExtra("BitmapImage",bitmap); 
     startActivity(intent); 
    } 
} 

Вторая активность

ImageView showPhoto = (ImageView) findViewById(R.id.imageView); 
Bitmap bitImage = getIntent().getParcelableExtra("BitmapImage"); 
showPhoto.setImageBitmap(bitImage); 

XML файл

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:orientation="vertical" android:layout_width="match_parent" 
android:layout_height="match_parent"> 
<ImageView 
    android:id="@+id/imageView" 
    android:adjustViewBounds="true" 
    android:layout_width="match_parent" 
    android:layout_height="300dp" /> 
</LinearLayout> 
+0

Спасибо. теперь, но когда фотография отображается в изображении, она размыта. –

+0

Проверьте ответ, чтобы избежать изображения низкого качества в [Здесь] (http: // stackoverflow.com/questions/10377783/low-picture-image-quality-when-capture-from-camera) – Naz141

+0

Пожалуйста, отметьте это как ответ или upvote, если он сработает для вас (y) – Naz141