android - 刷新缩放图像,同时在 android 中保持缩放

标签 android imageview zooming

谁能告诉我如何在保持图像缩放的同时更改我缩放的 imageview 中的图像? 以前的和新的图像具有相同的大小。 对于缩放功能,我使用的代码来自 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);

但我还是遇到了同样的问题。

最佳答案

您是否尝试过在更改之前保存图像的 Matrix 并在更改后将 Matrix 重新应用到图像?

关于android - 刷新缩放图像,同时在 android 中保持缩放,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10242927/

相关文章:

java - 如何在 JAVAFX 中显示 Mysql 中的照片

android - 滚动时 SherlockFragments 中 ViewPager 的可见性问题(在 Gingerbread 中)

android - ffmpeg avio_open() 无法打开用于写入编码流的输出文件

java - 将 ImageView 高度设置为宽度的 50%

缩放和捏合后UIwebview刷新

javascript - D3 v4 调整缩放到中心

android - 如何在 android 中设置图像的最大和最小缩放级别?

android - 横向布局Android上的键盘不成比例

android dex 无法合并

android - 无法通过位图填充 ImageView ,奇怪的行为