2012-04-20 9 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); 
} 

EDIT:

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

は今、私はに画像を変更するためのコードを変更しようとしました

はここ

は私のコードがどのように見えるかでお願いしますしかし、私はまだ同じ問題を抱えています。

+0

回避策はありますか? 見つかった場合は、お知らせください。 ありがとう –

答えて

0

Matrixを変更して変更してからイメージに変更して再適用したことがありますか?

+0

はい、私は以前のimagedrawableとimagematrixを取得して、新しいものに設定してみましたが、それでも動作しません。 – Thomas

+0

画像を変更する場所にコードを貼り付けてください – Rajesh

+0

私は自分のコードを入れました。それを見てください。ありがとうございました。 – Thomas

関連する問題