2012-04-20 4 views
2

이미지 뷰어 내에서 이미지를 변경하는 방법을 말해 줄 수 있습니까? 이전 이미지와 새 이미지의 크기가 같습니다. 확대/축소 기능은 코드를 사용하고 있습니다. https://stackoverflow.com/a/7458910/1346016 setimagebitmap, setimagedrawable 및 일부 다른 방법을 사용해 보았지만 그 중 아무 것도 작동하지 않는 것 같습니다. 매번 이미지를 새로 고침하면 이미지 크기가 원래 크기로 돌아갑니다. 줌인 된 이미지를 새로 고치지 않고 새로 고침하십시오.

당신을 감사

여기

내 코드는 모양을 같은 :

TouchImageView img,buffer; 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 

    // set multi touch zooming 
    img = new TouchImageView(this); 
    img.setMaxZoom(4f); 
    Bitmap img1 = BitmapFactory.decodeResource(getResources(), R.drawable.blueprint); 
    img.setImageBitmap(img1); 

    // refresh image 
    refreshImage(); 

    setContentView(img); 
} 
public void refreshImage() { 
     handler.postDelayed(new Runnable() { 
      public void run() { 
       Bitmap img1 = BitmapFactory.decodeResource(getResources(), R.drawable.blueprint); 
       Canvas newImg = new Canvas(img1); 
       newImg.drawBitmap(img1, 0f, 0f, null); 
       Paint inner = new Paint(); 
       Paint outer = new Paint();    
       inner.setARGB(255, 0, 138, 255); 
       outer.setARGB(100, 0, 138, 255); 

       newImg.drawCircle(axis[0], axis[1], 9, inner); 
       newImg.drawCircle(axis[0], axis[1], 50, outer); 

       buffer = img; 
       img.setImageBitmap(img1); 
       img.bmHeight = buffer.bmHeight; 
       img.bmWidth = buffer.bmWidth; 
       img.bottom = buffer.bottom; 
       img.setImageDrawable(buffer.getDrawable()); 
       img.origHeight = buffer.origHeight; 
       img.origWidth = buffer.origWidth; 
       img.redundantXSpace = buffer.redundantXSpace; 
       img.redundantYSpace = buffer.redundantYSpace; 
       img.right = buffer.right; 
       img.saveScale = buffer.saveScale; 
       img.setImageMatrix(buffer.matrix); 
       img.setScaleType(ScaleType.MATRIX); 
      } 
     }, 2000); 
} 

편집 : 지금은로 이미지를 변경하는 코드를 변경 시도했다 :

m = img.matrix; 
img.setImageBitmap(img1); 
img.matrix = m; 
img.setImageMatrix(m); 

하지만 여전히 같은 문제가 있습니다.

+0

문제가 있습니까? 찾으면 공유하십시오. 감사합니다. –

답변

0

Matrix을 변경하고 다시 적용하기 전에 이미지의 Matrix을 저장해 보았습니까?

+0

예 이전 이미지 처리 가능 이미지 및 이미지 매트릭스를 가져 와서 새로운 이미지 세트로 설정했지만 여전히 작동하지 않습니다. – Thomas

+0

이미지를 바꿀 코드를 붙이십시오. – Rajesh

+0

코드를 삽입했습니다. 그것을보십시오. 고맙습니다. – Thomas

관련 문제