2016-10-31 4 views
0

Я успешно сделал приложение, которое загружает изображения в firebase из альбома телефона в портретной ориентации, используя Picasso, но когда я пытаюсь извлечь некоторые из изображений, они приходят когда они изменили ориентацию, возможно, когда размер изображения больше. Ниже приведен пример pic.Извлечение изображений из Firebase в портрете Ориентация с использованием Picasso в ImageView

enter image description here

Я использую также Picasso при получении изображения из Firebase, Как я могу быть в состоянии сделать автоматическое обнаружение, когда изображение не портрет должен быть установлен портрет без потери качества изображения, как Facebook.

Ниже приведен код, который выбирает изображение из Галереи.

imageSelect.setOnClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View v) { 
       Intent galleryIntent = new Intent(Intent.ACTION_GET_CONTENT); 
       galleryIntent.setType("image/"); 
       startActivityForResult(galleryIntent, GALLERY_REQUEST); 
      } 
     }); 
@Override 
    protected void onActivityResult(int requestCode, int resultCode, Intent data) { 
     super.onActivityResult(requestCode, resultCode, data); 
     if (requestCode == GALLERY_REQUEST && resultCode == RESULT_OK) { 


      imageUri = data.getData(); 
      Picasso.with(c).load(imageUri).fit().into(imageSelect); 
      //imageSelect.setImageURI(imageUri); 
     } 
    } 

Это код, который извлекает изображение из Firebase в RecyclerView

public void setImage(final Context c,final String imageUrl){ 

    // 

     Picasso.with(c).load(imageUrl).error(R.mipmap.add_btn).fit().centerInside().rotate(90).placeholder(R.mipmap.add_btn) 
       .networkPolicy(NetworkPolicy.OFFLINE).into(imagePost, new Callback() { 
      @Override 
      public void onSuccess() { 

      } 

      @Override 
      public void onError() { 

       //Reloading an image again ... 
       Picasso.with(c).load(imageUrl).error(R.mipmap.add_btn).placeholder(R.mipmap.add_btn) 
         .into(imagePost); 
      } 
     }); 

    } 

ответ

1

Заменить его

Picasso.with(c).load(imageUrl).error(R.mipmap.add_btn).fit().centerInside().rotate(90).placeholder(R.mipmap.add_btn) 

На этой

Picasso.with(c).load(imageUrl).error(R.mipmap.add_btn).fit().centerInside().placeholder(R.mipmap.add_btn) 

здесь слишком много rotate(90)

+0

Hello @ ANDRO спасибо за ответ, но когда я удаляю 'rotate (90)', эти изображения приходят хорошо, но другие меняются, которые были на портрете. Теперь проблема заключается в том, когда я выбираю изображение из альбома в imageView он хорошо отображает портретный способ, но когда я загружаю его в Firebase, и я возвращаю его обратно, некоторые изображения меняют ориентацию, а другие остаются в портретном ключе. Не существует ли способ, которым я могу автоматически проверять изображения, которые могут изменить их ориентацию с помощью 'Picasso' –

+0

Изображение Firebase в обычной ориентации? – Andro

+0

Да, точно, но кажется, когда изображение большое, оно приходит, когда меняется ориентация, если я могу спросить, есть ли способ изменить размер всех изображений одного размера без потери качества, я думаю, что это может решить проблему –

1

попробуйте проверить, изменилась ли ориентация изображения перед загрузкой в ​​Firebase и после ее получения.