寻找相机自动聚焦指示器例如[关闭](looking for camera auto-focus in

2019-07-04 16:15发布

我建设,支持自动对焦专用相机,并且仅仅是想知道是否有调用相同的自动对焦长方形的指标,本机摄像头具有或者,如果我必须建立一个从头开始..任何实例或教程链接会的方式不胜感激。

Answer 1:

这可能有助于看看最新的果冻豆4.2摄像头处理这个问题的方法。 可以按如下方式下载相机来源:

git clone https://android.googlesource.com/platform/packages/apps/Camera.git

一旦你的代码,浏览到FocusOverlayManager类和PieRenderer类。 如果你还没有尝试过这项最新版本,焦度计是一个馅饼般的循环,重点完成后转动。 你可以让你自己广场在Photoshop或使用这两个是我在过去使用的一个(一个是iPhone骗人货我做了,另一种是在某些版本的Android相机的使用九宫格):

果冻豆例子可能是你在找什么有点复杂,所以下面是我实现自动对焦的视觉反馈的方式的一些准则。 这个过程可以有些复杂。 我不会假装我的方法是做到这一点的最好办法,但这里是给你的总体思路一些示例代码...

在我的相机预览布局xml文件:

<!-- Autofocus crosshairs -->

<RelativeLayout
    android:id="@+id/af_casing"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_centerInParent="true"
    android:clipChildren="false" >

    <com.package.AutofocusCrosshair
        android:id="@+id/af_crosshair"
        android:layout_width="65dp"
        android:layout_height="65dp"
        android:clipChildren="false" >
    </com.package.AutofocusCrosshair>
</RelativeLayout>

这AutofocusCrosshair类如下:

public class AutofocusCrosshair extends View {

    private Point mLocationPoint;

    public AutofocusCrosshair(Context context, AttributeSet attrs) {
        super(context, attrs);
    }

    private void setDrawable(int resid) {
        this.setBackgroundResource(resid);
    }

    public void showStart() {
        setDrawable(R.drawable.focus_crosshair_image);
    }

    public void clear() {
        setBackgroundDrawable(null);
    }

}

当在我的活动,我要开始自动对焦我做到以下几点:

mAutofocusCrosshair = (AutofocusCrosshair) findViewById(R.id.af_crosshair);
//Now add your own code to position this within the view however you choose
mAutofocusCrosshair.showStart();
//I'm assuming you'll want to animate this... so start an animation here
findViewById(R.id.af_casing).startAnimation(mAutofocusAnimation);

并确保你的动画结束清除图像:

mAutofocusAnimation.setAnimationListener(new AnimationListener() {
    @Override public void onAnimationEnd(Animation arg0) {
        mAutofocusCrosshair.clear();            
    }
    @Override public void onAnimationRepeat(Animation arg0) {}
    @Override public void onAnimationStart(Animation arg0) {}
});


Answer 2:

如果你指的是小长方形这在相机应用的预览画面改变颜色,我敢肯定,你必须绘制自己。 很抱歉,如果这不是你想要的答案!

但是,您可以调用autoFocus()它会后来者提供一个结果,它告诉相机是否是焦点。 由于API 14,如果相机在甚至会工作FOCUS_MODE_CONTINUOUS_PICTURE

我也很抱歉,我不知道,介绍如何使用对焦机制好的教程。 有一件事我已经在过去一周的经验教训:不调用autoFocus()开始的预览图像之前,因为它崩溃了HTC的Nexus One。

我内置的示例代码我的第一个Android相机应用在http://marakana.com/forums/android/examples/39.html但要小心,因为写有代码的每个预览画面写入SD卡并迅速填满它! 还有的在那里约自动对焦没有代码。

编辑:当然,最终的示例代码,包括焦点指示符,是在相机应用的源代码。 这个问题: 我在哪里可以得到Android相机应用程序源代码? 告诉你如何得到它。 我只是按照说明那里得到了有关源代码的35Mbytes,我怕我没有发现的小矩形聚焦尚未!



文章来源: looking for camera auto-focus indicator example [closed]