图片无限放大,不模糊,图片移动,仿微信图片放大
备注:本文关键内容是“OOM(Out Of Memory)异常",跟“移动时的截图起点规则”内容,其他部分没看也可以看的懂 写此程序背景 看到微信的图片浏览的强大功能,于是自己写了一个。原则上可以无限放大,但是放大部分 像素必须有原图片的1个像素,最小也不能小于1*1像素。 思路: 功能解剖: 缩放:微信的缩放能缩放到用户满意的范围。(放大不会超过max倍,缩小不会超过min) 移动:当图片高与宽小于屏幕时,能移动图片到任意位置。当高或宽大于屏幕时,移动图片则会截取图片某一模块放大满屏显示。 最重要的一点就是图片放大时看不出来图片变模糊 解剖雏形: 假设用系统自带Matrix函数来控制放大缩小。 缩小: 可以缩小很小倍,当不易控制倍数(如1.25倍,但Matrix不会那么精确) 放大:但放大超出屏幕时,Bitmap.createBitmap会在内存中创建一个很大的图(或内存超出系统设定的值或宽高超出屏幕),导致显存或内存不足。 因为上条放大会出现问题所以本方案绝对不行。 解剖过度: 那么要有那么一种缩放方法满足下面条件 一...