2012-04-20 41 views
2

任何人都可以告訴我如何改變imageview中的圖像,我有變焦,同時保持圖像放大? 上一張和新圖像的大小相同。 的縮放功能,我使用的代碼從https://stackoverflow.com/a/7458910/1346016 我試着使用setimagebitmap,setimagedrawable,和其他一些,但沒有一個似乎工作。每次我刷新圖像時,圖像大小都會恢復爲原始大小。刷新縮放圖像,同時保持它放大android

謝謝

這裏是我的代碼看起來像:

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

你有任何解決辦法嗎? 請分享,如果你發現任何。 謝謝 – 2014-01-24 10:01:08

回答

0

您是否嘗試在更改之前保存圖像的Matrix,然後在更改圖像後重新應用Matrix

+0

是的,我已經嘗試通過獲取以前的可抽取和imagematrix並將其設置爲新的,但它仍然無法正常工作。 – Thomas 2012-04-20 09:33:05

+0

請粘貼一些代碼,您將更改圖片 – Rajesh 2012-04-20 10:51:03

+0

我已將我的代碼放入其中。請看看它。謝謝。 – Thomas 2012-04-20 16:43:39