이미지 뷰어 내에서 이미지를 변경하는 방법을 말해 줄 수 있습니까? 이전 이미지와 새 이미지의 크기가 같습니다. 확대/축소 기능은 코드를 사용하고 있습니다. 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);
하지만 여전히 같은 문제가 있습니다.
문제가 있습니까? 찾으면 공유하십시오. 감사합니다. –