以纵向方式从Firebase中检索图像使用ImageView中的Picasso

时间:2016-10-31 05:08:37

标签: android image firebase picasso firebase-storage

我已经成功制作了一个应用程序,使用Picasso以纵向方式从手机的相册上传照片到firebase,但是当我尝试检索某些图片时,它们会在更改后出现方向,可能是图像尺寸较大时。以下是样本图片。

enter image description here

我从Picasso检索图像时也使用Firebase,当图像不是肖像时,如何设置肖像而不会失去像

以下是从图库中选择图像的代码。

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);
            }
        });

    }

2 个答案:

答案 0 :(得分: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)

答案 1 :(得分:1)

在上传到Firebase之前和检索之后,尝试检查图像的方向是否已更改。