Programing

Picasso 파일 시스템에서 이미지로드

lottogame 2020. 10. 23. 07:30
반응형

Picasso 파일 시스템에서 이미지로드


Picasso 라이브러리를 사용하여 파일 시스템에서 이미지를로드 할 수 있습니까?

내가 사용하고 startActivityForResult사용자가 자신의 갤러리에서 사진을 선택할 수 있도록 한 다음 선택한 이미지를 보여주고 싶어요.

이미 이미지 파일 시스템을 가져 오는 작업 코드가 Uri있지만 Picasso.load()작동 하는 방법을 얻을 수 없습니다 .


물론 당신은 할 수. 실제로 매우 간단합니다.

File f = new File("path-to-file/file.png")

또는

File f = new File(uri)

Picasso.with(getActivity()).load(f).into(imageView);

또한

Picasso.with(getActivity()).load(uri).into(imageView);

공장


그래 넌 할수있어.

시험:

Picasso.with(context).load(new File(YOUR_FILE_PATH)).into(imageView);

편집하다

.load(YOUR_URI)대신 전화를 걸 수도 있습니다.


소스 코드를 살펴보면 파일 시스템에서 file:이미지 경로에 문자열 접두사를 추가하여 이미지를로드 할 수 있음을 발견했습니다 . 예를 들면 :

file:path/to/your/image

또한 startActivityForResult를 사용하면 다음과 같은 결과를 얻을 수 있습니다.

Uri imageContent = data.getData();

그런 다음 이미지 경로 Picasso.with(getContext()).load(imageContent.toString).into(imageView);를 만들고 Cursor쿼리 할 필요없이 직접 호출 할 수 있습니다 .


이 시도:

Picasso.with(context)
.load("file://"+path) // Add this
.config(Bitmap.Config.RGB_565)
.fit().centerCrop()
.into(imageView);

그것은 나에게 완벽하게 작동합니다.


> Picasso.get().load(R.drawable.landing_screen).into(imageView1);
> Picasso.get().load("file:///android_asset/DvpvklR.png").into(imageView2);
> Picasso.get().load(new File(...)).into(imageView3);

기본적으로 세 가지 Context, image´s path그리고 ImageView컨테이너 가 필요합니다.

Picasso.with(context).load("/files/my_image.jpg").into(myImageView);

하지만 더 많은 옵션을 사용할 수 있습니다.

  .resize(20, 20)
  .centerCrop()
  .placeholder(R.drawable.user_placeholder)
  .error(R.drawable.user_placeholder_error)

기타...

더 많은 정보 : http://square.github.io/picasso/

참고 URL : https://stackoverflow.com/questions/23681177/picasso-load-image-from-filesystem

반응형