我已经成功制作了一个应用程序,使用Picasso
以纵向方式从手机的相册上传照片到firebase,但是当我尝试检索某些图片时,它们会在更改后出现方向,可能是图像尺寸较大时。以下是样本图片。
我从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);
}
});
}
答案 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之前和检索之后,尝试检查图像的方向是否已更改。