Asked Aug 22nd, 2018 4:03 AM 69 0 3
  • 69 0 3
0

Picasso Trong Android

Share
  • 69 0 3

Mọi người cho mình hỏi chút vì sao ảnh mình tải url về là đúng theo chiều của ảnh. Mà khi fungf Picasso để hiển thị trên Imageview thì lại bị xoay ngang ảnh, không hiển thị đúng chiều ảnh của url vậy mọi người.

3 ANSWERS


Answered Aug 22nd, 2018 4:18 AM
Accepted
+2

Kiểm tra EXIF data nằm trong file image bạn tải về xem sao, thuộc tính Orientation bằng 0 hay khác 0, xoay ngang ảnh thì có thể là 90 hoặc 270. Vì picasso khi load ảnh sẽ sử dụng thuộc tính này để rotate theo chiều ảnh chỉ định. Lỗi này chắc do bạn lấy ảnh từ camera, không xử lý rotate mà up lên server luôn.

Thử dòng này với picasso:

 Picasso.with(MainActivity.this)
    .load(imageURL) // image url
    .rotate(90)                    //nếu muốn xoay 90 độ
    .into(imageview)
    });
Share
Aug 22nd, 2018 4:19 AM

cảm ơn bạn. Mình sẽ thử

0
| Reply
Share
Answered Aug 22nd, 2018 4:09 AM
+2

Bởi vì EXIF data của ảnh trả về có orientation là xoay 90 độ chẳng hạn thì Picasso sẽ tự xoay ảnh nhé bạn. Bạn có thể dùng hàm rotate() của Picasso để hiển thị đúng chiều ảnh.

Share
Aug 22nd, 2018 4:17 AM

Cảm ơn bạn nhiều 😃

0
| Reply
Share
Answered Aug 22nd, 2018 4:07 AM
+1

Có thể bạn đang fix width với height của ImageView theo kiểu ("match_parent") nên bị trường hợp không hiển thị đúng chiều ảnh. Bạn thử để width và height "wrap_content". Xem ảnh có về đúng chiều không.

Share
Aug 22nd, 2018 4:17 AM

Mình đang set cứng with và height của ImageView bạn.

0
| Reply
Share