2012-04-17 2 views
1

이것은 "Google Catalogs"앱의 스냅 샷입니다. [이미지 설명 입력] [1]android : 이미지가 중복됩니까?

+1

가 전체 것은 이미지입니다 중복 될 수있다 ... – ngesh

+1

나는 ** FrameLayout이 당신이보기 모래 @ – waqaslam

+0

를 중복하는 데 도움이 될 수 있습니다 **, 이제 위의 볼 생각 두 개의 이미지. 우리가 카탈로그를 방문 할 때마다보기의 이미지가 바뀝니다. – Hitendra

답변

2

다음은 내가 원하는 코드입니다.

public Bitmap convertImage(Bitmap bitmap, int param1, int param2, int degree) { 
     float f1 = 1.0F; 
     int i = bitmap.getWidth(); 
     int j = bitmap.getHeight(); 

     if (((Math.abs(i - param1) <= 1) || (param1 <= 0)) 
       && (Math.abs(j - param2) <= 1) || (param2 <= 0) && degree == 0) 
      return bitmap; 

     Matrix matrix = new Matrix(); 
     float f4 = 1.0F; 
     if (param1 > 0) { 
      float f2 = param1; 
      float f3 = i; 
      f4 = f2/f3; 
     } else if (param2 > 0) { 
      float f5 = param2; 
      float f6 = j; 
      f1 = f5/f6; 
     } 

     boolean b1 = matrix.postScale(f4, f1); 
     float f7 = degree; 
     boolean b2 = matrix.postRotate(f7); 
     Bitmap localbitmap = bitmap; 

     int k = 0; 

     bitmap = Bitmap.createBitmap(localbitmap, 0, k, i, j, matrix, true); 
     return bitmap; 

    } 

사용법 : -

BitmapDrawable drawable = (BitmapDrawable) getResources().getDrawable(
       R.drawable.ic_launcher); 
     Bitmap localBitmap2 = convertImage(drawable.getBitmap(), -1, -1, 
       -7); 

     imageview1.setImageBitmap(localBitmap2); 
+0

위 이미지에 표시된 출력을 얻으려면이 코드를 사용하여 이미지를 회전하고 framelayout을 사용하여 이미지를 겹칠 수 있습니다. – Hitendra

+0

당신은 정크 코드를 제거 할 수 있습니다 !!!! – Hitendra

1

이미지를 ImageView에 사용할 수 있습니다 FrameLayout의 오브젝트가 이미지를 오버랩합니다. Here 예를 게시했습니다.

3

FrameLayout을 사용하여 서로 위에 이미지를 쌓을 수 있습니다. 그러나, 같은 화면에서 이미지의 수가 제한되지 않을 때 그렇게하는 것은 아닙니다. 조만간 메모리 문제가 발생할 것입니다.

내가 생각하기에 그들은 카탈로그에서 샘플을 가져 와서 이미지를 캔버스에 그려서 하나의 엔티티로 렌더링한다고 생각합니다. 그들은 전체 패널에 하나의 캔버스 만 사용하고 그런 식으로 제어 할 수 있습니다.

그냥 내 두 센트. 당신을위한 가능성을 여기에서 생각하려고합니다.

관련 문제