【问题标题】:How to implement zooming with seekbar in SurfaceView Camera in Android?如何在 Android 的 SurfaceView 相机中使用搜索栏实现缩放?
【发布时间】:2017-05-15 02:57:09
【问题描述】:

我正在研究 Surface-Camera-Preview,并且想用 seekbar 实现缩放控制,已经完成了捏缩放,那么有什么方法可以用 seekbar 控制它吗?谢谢。

【问题讨论】:

    标签: android android-camera surfaceview


    【解决方案1】:

    如果你用捏缩放设置缩放,你可以使用setOnSeekBarChangeListener来设置相机的缩放:

    seekbarZoom = (SeekBar) findViewById(R.id.seekBarZoom);
        seekbarZoom.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener(){
    
            @Override
            public void onProgressChanged(SeekBar seekBar, int progress,
                    boolean fromUser) {
                // TODO Auto-generated method stub
                Log.d(TAG, "progress:"+progress);
    
                // YOur code here in set zoom for pinch zooming, sth like this
                if(mCamera.getParameters().isZoomSupported()){
    
                    Parameters params = mCamera.getParameters();
                    params.setZoom(progress);
                    mCamera.setParameters(params);
                }
            }
    
            @Override
            public void onStartTrackingTouch(SeekBar seekBar) {
                // TODO Auto-generated method stub
                Log.d(TAG, "onStartTrackingTouch");
            }
    
            @Override
            public void onStopTrackingTouch(SeekBar seekBar) {
                // TODO Auto-generated method stub
                Log.d(TAG, "onStartTrackingTouch");
            }
    
        });
    

    【讨论】:

      【解决方案2】:

      RoShan Shan 分享的代码是这样做的,但是如果你没有设置 SeekBar 的最大值,你会因为没有设置seekbarZoom.setMax(params.getMaxZoom())而从用户那里得到很多IndexOutOfBoundsException。因为 SeekBar 的默认最大值为 100,但许多设备上的 maxZoom 小于 100。

      【讨论】:

      • 如何为camera2 api实现同样的功能
      • 亲爱的 BalaramNayak,float maxZoom = (characteristics.get(CameraCharacteristics.SCALER_AVAILABLE_MAX_DIGITAL_ZOOM))*10;
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-07-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多