2014-04-30 2 views
8

저는 뷰어에서 이미지로드를 위해 Picasa 라이브러리를 사용하고 있지만 비트 맵을로드해야하며 Picasso는 File 변수 만 받아 들여야합니다. Picasso를 사용하여 비트 맵 파일을로드하려면 어떻게해야합니까? 나는 피카소의 부하 기능에 imagecompress을 넣으면비트 맵을 Picaso로로드하십시오.

Bitmap imagescompress = decodeSampledBitmapFromResource(getResources(), AnohanaAdapter.imagep[position], 100, 100); 

,이 오류가 발생했습니다 : 는 방법 '로드 (android.graphics.Bitmap)를'해결 할 수 없습니다.

사실 부하 이미지 나는 코드 아래 사용

Picasso.with(VistaSingola.this).load(AnohanaAdapter.imagep[i]).placeholder(R.drawable.ic_launcher).error(R.drawable.error).fit().into(imageViewTouch); 

그러나 이미지가 크고 난에서 OutOfMemory에 가고 싶지 않아. 누군가 나를 도울 수 있습니까? 부디.

여러분 모두가 너무 많은 메모리를 필요로하는, 내가

+0

이미지를 할 울부 짖는 코드를 사용할 수 있습니다 도움이 과정에 너무 큰 감사드립니다. 'resize (x, y)'를 사용해보고 무슨 일이 일어나는 지보십시오. – shkschneider

+0

먼저 답장을 보내 주셔서 감사합니다. resize (x, y)를 시도했지만이 게시물에 작성된대로 http://stackoverflow.com/questions/23371597/resize-an-image-in-viewpager-only- "for 루프"에있는 코드가 앱에 오랜 시간이 걸리는 경우 Picasso 라이브러리가 허용하는 변수에서 Bitmap 변수를 변환 할 수있는 방법이 있는지 알고 싶었습니다. – Matteo

+0

비트 맵을 파일로 변환하면 시간이 오래 걸립니다. 나는 네가하고 싶은 것을 가속화하는 방법을 모른다 (미안하다). 이미지 처리는 항상 많은 시간을 할애해야하기 때문에 해결 방법은 내가하는 일을 낮추는 것입니다. 얼마에? – shkschneider

답변

1

당신이

private Target target = new Target() { 
     @Override 
     public void onBitmapLoaded(Bitmap bitmap, Picasso.LoadedFrom from) { 
     //TODO: Store bitmap in global vaiable 
     } 
     @Override 
     public void onBitmapFailed() { 
     } 
} 

private void loadBitmap(String url) { 
    Picasso.with(this).load(url).into(target); 
} 

@Override 
public void onDestroy() { // could be in onPause or onStop 
    Picasso.with(this).cancelRequest(target); 
    super.onDestroy(); 
}