Android源码开发之Gallery图片放大倍数

最近遇到一个客户提出的奇葩需求,要求照片无论滑动还是双击,其最大放大倍数都不超过1.5倍,双击的就不说了,很简单,mtkonlne上也有,手指滑动,放大倍数也要不超过1.5倍,查看代码

packages/apps/Gallery2/src/com/android/gallery3d/ui/PositionController.java  

private static final float SCALE_LIMIT = 4;

虽然改了这个最大限制值,但还是无济于事

我使了大招,在Gallery2/src/com/android/gallery3d/ui/PhotoView.java

 @Override
        public boolean onScale(float focusX, float focusY, float scale) {

  if (scale > 1.0f){ //表示放大,scale <0是缩小
            PositionController controller = mPositionController;
            float mscale = controller.getImageScale();
                    float zoomRate = controller.getSuggestLargerZoomRate();
Log.i("mode","zoomRate= "+zoomRate);
Log.i("mode",focusY+"-"+focusX+"="+(focusY-focusX));
Log.i("mode","scale="+scale);
Log.i("mode","isAtInitRate="+controller.isAtInitRate());
Log.i("mode","mFilmMode="+mFilmMode);
                    if (zoomRate > 0.7f && mscale >= zoomRate) {
                        return true;
                    }else if(zoomRate < 0.6f && mscale >= 0.4f){
                        return true;
}
 
}

这里zoomRate 表示长宽比,手机拍出来的,无非就是两种尺寸,4:3和16:9,可以打log看一下


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值