当前位置: 首页>>代码示例>>Java>>正文


Java Camera.Area方法代码示例

本文整理汇总了Java中android.hardware.Camera.Area方法的典型用法代码示例。如果您正苦于以下问题:Java Camera.Area方法的具体用法?Java Camera.Area怎么用?Java Camera.Area使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在android.hardware.Camera的用法示例。


在下文中一共展示了Camera.Area方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: setFocusArea

import android.hardware.Camera; //导入方法依赖的package包/类
public static void setFocusArea(Camera.Parameters parameters) {
  if (parameters.getMaxNumFocusAreas() > 0) {
    Log.i(TAG, "Old focus areas: " + toString(parameters.getFocusAreas()));
    List<Camera.Area> middleArea = buildMiddleArea(AREA_PER_1000);
    Log.i(TAG, "Setting focus area to : " + toString(middleArea));
    parameters.setFocusAreas(middleArea);
  } else {
    Log.i(TAG, "Device does not support focus areas");
  }
}
 
开发者ID:kkyflying,项目名称:CodeScaner,代码行数:11,代码来源:CameraConfigurationUtils.java

示例2: toString

import android.hardware.Camera; //导入方法依赖的package包/类
private static String toString(Iterable<Camera.Area> areas) {
  if (areas == null) {
    return null;
  }
  StringBuilder result = new StringBuilder();
  for (Camera.Area area : areas) {
    result.append(area.rect).append(':').append(area.weight).append(' ');
  }
  return result.toString();
}
 
开发者ID:kkyflying,项目名称:CodeScaner,代码行数:11,代码来源:CameraConfigurationUtils.java

示例3: setMetering

import android.hardware.Camera; //导入方法依赖的package包/类
public static void setMetering(Camera.Parameters parameters) {
	if (parameters.getMaxNumMeteringAreas() > 0) {
		Log.i(TAG, "Old metering areas: " + parameters.getMeteringAreas());
		List<Camera.Area> middleArea = buildMiddleArea(AREA_PER_1000);
		Log.i(TAG, "Setting metering area to : " + toString(middleArea));
		parameters.setMeteringAreas(middleArea);
	} else {
		Log.i(TAG, "Device does not support metering areas");
	}
}
 
开发者ID:yun2win,项目名称:tvConnect_android,代码行数:11,代码来源:CameraConfigurationUtils.java

示例4: setMetering

import android.hardware.Camera; //导入方法依赖的package包/类
public static void setMetering(Camera.Parameters parameters) {
    if (parameters.getMaxNumMeteringAreas() > 0) {
        LogEx.i(TAG, "Old metering areas: " + parameters.getMeteringAreas());
        List<Camera.Area> middleArea = buildMiddleArea(AREA_PER_1000);
        LogEx.i(TAG, "Setting metering area to : " + toString(middleArea));
        parameters.setMeteringAreas(middleArea);
    } else {
        LogEx.i(TAG, "Device does not support metering areas");
    }
}
 
开发者ID:CoderChoy,项目名称:BarcodeReaderView,代码行数:11,代码来源:CameraConfigurationUtils.java

示例5: setMetering

import android.hardware.Camera; //导入方法依赖的package包/类
public static void setMetering(Camera.Parameters parameters) {
    if (parameters.getMaxNumMeteringAreas() > 0) {
        Log.i(TAG, "Old metering areas: " + parameters.getMeteringAreas());
        List<Camera.Area> middleArea = buildMiddleArea(AREA_PER_1000);
        Log.i(TAG, "Setting metering area to : " + toString(middleArea));
        parameters.setMeteringAreas(middleArea);
    } else {
        Log.i(TAG, "Device does not support metering areas");
    }
}
 
开发者ID:Zmingxu,项目名称:ZxingScanner,代码行数:11,代码来源:CameraConfigurationUtils.java

示例6: setFocusArea

import android.hardware.Camera; //导入方法依赖的package包/类
public static void setFocusArea(Camera.Parameters parameters) {
    if (parameters.getMaxNumFocusAreas() > 0) {
        LogEx.i(TAG, "Old focus areas: " + toString(parameters.getFocusAreas()));
        List<Camera.Area> middleArea = buildMiddleArea(AREA_PER_1000);
        LogEx.i(TAG, "Setting focus area to : " + toString(middleArea));
        parameters.setFocusAreas(middleArea);
    } else {
        LogEx.i(TAG, "Device does not support focus areas");
    }
}
 
开发者ID:CoderChoy,项目名称:BarcodeReaderView,代码行数:11,代码来源:CameraConfigurationUtils.java

示例7: setMetering

import android.hardware.Camera; //导入方法依赖的package包/类
public static void setMetering(Camera.Parameters parameters) {
  if (parameters.getMaxNumMeteringAreas() > 0) {
    Log.i(TAG, "Old metering areas: " + parameters.getMeteringAreas());
    List<Camera.Area> middleArea = buildMiddleArea(AREA_PER_1000);
    Log.i(TAG, "Setting metering area to : " + toString(middleArea));
    parameters.setMeteringAreas(middleArea);
  } else {
    Log.i(TAG, "Device does not support metering areas");
  }
}
 
开发者ID:amap-demo,项目名称:weex-3d-map,代码行数:11,代码来源:CameraConfigurationUtils.java

示例8: startTouchAutoFocus

import android.hardware.Camera; //导入方法依赖的package包/类
public void startTouchAutoFocus(View v, MotionEvent event) {
    if ((mIsSupportAutoFocus || mIsSupportAutoFocusContinuousPicture)
            && mCamera != null
            && !mAutoFocusLocked) {
        try {
            mAutoFocusLocked = true;

            Camera.Parameters parameters = getCameraParameters();
            parameters.setFocusMode(Camera.Parameters.FOCUS_MODE_AUTO);
            if (parameters.getMaxNumFocusAreas() > 0) {
                Rect focusRect =
                        CameraHelper.calculateTapArea(v, event.getX(), event.getY(), 1f);
                List<Camera.Area> focusAreas = new ArrayList<Camera.Area>();
                focusAreas.add(new Camera.Area(focusRect, 1000));
                parameters.setFocusAreas(focusAreas);
            }

            if (parameters.getMaxNumMeteringAreas() > 0) {
                Rect meteringRect =
                        CameraHelper.calculateTapArea(v, event.getX(), event.getY(), 1.5f);
                List<Camera.Area> meteringAreas = new ArrayList<Camera.Area>();
                meteringAreas.add(new Camera.Area(meteringRect, 1000));
                parameters.setMeteringAreas(meteringAreas);
            }

            mCamera.setParameters(parameters);
            mCamera.autoFocus(this);
        } catch (Exception e) {
            e.printStackTrace();
            mAutoFocusLocked = false;
        }
    }
}
 
开发者ID:hoanganhtuan95ptit,项目名称:EditPhoto,代码行数:34,代码来源:CameraController.java

示例9: setFocusArea

import android.hardware.Camera; //导入方法依赖的package包/类
@TargetApi(Build.VERSION_CODES.ICE_CREAM_SANDWICH_MR1)
public static void setFocusArea(Camera.Parameters parameters) {
    if (parameters.getMaxNumFocusAreas() > 0) {
        Log.i(TAG, "Old focus areas: " + toString(parameters.getFocusAreas()));
        List<Camera.Area> middleArea = buildMiddleArea(AREA_PER_1000);
        Log.i(TAG, "Setting focus area to : " + toString(middleArea));
        parameters.setFocusAreas(middleArea);
    } else {
        Log.i(TAG, "Device does not support focus areas");
    }
}
 
开发者ID:yinhaojun,项目名称:ZxingForAndroid,代码行数:12,代码来源:CameraConfigurationUtils.java

示例10: setFocusArea

import android.hardware.Camera; //导入方法依赖的package包/类
public static void setFocusArea(Camera.Parameters parameters) {
	if (parameters.getMaxNumFocusAreas() > 0) {
		Log.i(TAG,
				"Old focus areas: " + toString(parameters.getFocusAreas()));
		List<Camera.Area> middleArea = buildMiddleArea(AREA_PER_1000);
		Log.i(TAG, "Setting focus area to : " + toString(middleArea));
		parameters.setFocusAreas(middleArea);
	} else {
		Log.i(TAG, "Device does not support focus areas");
	}
}
 
开发者ID:yun2win,项目名称:tvConnect_android,代码行数:12,代码来源:CameraConfigurationUtils.java

示例11: setFocusArea

import android.hardware.Camera; //导入方法依赖的package包/类
public static void setFocusArea(Camera.Parameters parameters) {
    if (parameters.getMaxNumFocusAreas() > 0) {
        Log.i(TAG, "Old focus areas: " + toString(parameters.getFocusAreas()));
        List<Camera.Area> middleArea = buildMiddleArea(AREA_PER_1000);
        Log.i(TAG, "Setting focus area to : " + toString(middleArea));
        parameters.setFocusAreas(middleArea);
    } else {
        Log.i(TAG, "Device does not support focus areas");
    }
}
 
开发者ID:MRYangY,项目名称:YZxing,代码行数:11,代码来源:CameraConfigurationUtils.java

示例12: toString

import android.hardware.Camera; //导入方法依赖的package包/类
private static String toString(Iterable<Camera.Area> areas) {
	if (areas == null) {
		return null;
	}
	StringBuilder result = new StringBuilder();
	for (Camera.Area area : areas) {
		result.append(area.rect).append(':').append(area.weight)
				.append(' ');
	}
	return result.toString();
}
 
开发者ID:yun2win,项目名称:tvConnect_android,代码行数:12,代码来源:CameraConfigurationUtils.java

示例13: buildMiddleArea

import android.hardware.Camera; //导入方法依赖的package包/类
private static List<Camera.Area> buildMiddleArea(int areaPer1000) {
  return Collections.singletonList(
      new Camera.Area(new Rect(-areaPer1000, -areaPer1000, areaPer1000, areaPer1000), 1));
}
 
开发者ID:amap-demo,项目名称:weex-3d-map,代码行数:5,代码来源:CameraConfigurationUtils.java

示例14: computeFocusAreaFromMotionEvent

import android.hardware.Camera; //导入方法依赖的package包/类
/**
 * Computes a Camera.Area corresponding to the new focus area to focus the camera on. This is
 * done by deriving a square around the center of a MotionEvent pointer (with side length equal
 * to FOCUS_AREA_MOTION_EVENT_EDGE_LENGTH), then transforming this rectangle's/square's
 * coordinates into the (-1000, 1000) coordinate system used for camera focus areas.
 *
 * Also note that we operate on RectF instances for the most part, to avoid any integer
 * division rounding errors going forward. We only round at the very end for playing into
 * the final focus areas list.
 *
 * @throws RuntimeException if unable to compute valid intersection between MotionEvent region
 * and SurfaceTexture region.
 */
protected static Camera.Area computeFocusAreaFromMotionEvent(final MotionEvent event, final int surfaceTextureWidth, final int surfaceTextureHeight) {
    // Get position of first touch pointer.
    final int pointerId = event.getPointerId(0);
    final int pointerIndex = event.findPointerIndex(pointerId);
    final float centerX = event.getX(pointerIndex);
    final float centerY = event.getY(pointerIndex);

    // Build event rect. Note that coordinates increase right and down, such that left <= right
    // and top <= bottom.
    final RectF eventRect = new RectF(
            centerX - FOCUS_AREA_MOTION_EVENT_EDGE_LENGTH, // left
            centerY - FOCUS_AREA_MOTION_EVENT_EDGE_LENGTH, // top
            centerX + FOCUS_AREA_MOTION_EVENT_EDGE_LENGTH, // right
            centerY + FOCUS_AREA_MOTION_EVENT_EDGE_LENGTH // bottom
    );

    // Intersect this rect with the rect corresponding to the full area of the parent surface
    // texture, making sure we are not placing any amount of the eventRect outside the parent
    // surface's area.
    final RectF surfaceTextureRect = new RectF(
            (float) 0, // left
            (float) 0, // top
            (float) surfaceTextureWidth, // right
            (float) surfaceTextureHeight // bottom
    );
    final boolean intersectSuccess = eventRect.intersect(surfaceTextureRect);
    if (!intersectSuccess) {
        throw new RuntimeException(
                "MotionEvent rect does not intersect with SurfaceTexture rect; unable to " +
                        "compute focus area"
        );
    }

    // Transform into (-1000, 1000) focus area coordinate system. See
    // https://developer.android.com/reference/android/hardware/Camera.Area.html.
    // Note that if this is ever changed to a Rect instead of RectF, be cautious of integer
    // division rounding!
    final RectF focusAreaRect = new RectF(
            (eventRect.left / surfaceTextureWidth) * 2000 - 1000, // left
            (eventRect.top / surfaceTextureHeight) * 2000 - 1000, // top
            (eventRect.right / surfaceTextureWidth) * 2000 - 1000, // right
            (eventRect.bottom / surfaceTextureHeight) * 2000 - 1000 // bottom
    );
    Rect focusAreaRectRounded = new Rect();
    focusAreaRect.round(focusAreaRectRounded);
    return new Camera.Area(focusAreaRectRounded, FOCUS_AREA_WEIGHT);
}
 
开发者ID:entria,项目名称:react-native-camera-face-detector,代码行数:61,代码来源:RCTCameraUtils.java

示例15: buildMiddleArea

import android.hardware.Camera; //导入方法依赖的package包/类
private static List<Camera.Area> buildMiddleArea(int areaPer1000) {
    return Collections.singletonList(
            new Camera.Area(new Rect(-areaPer1000, -areaPer1000, areaPer1000, areaPer1000), 1));
}
 
开发者ID:MRYangY,项目名称:YZxing,代码行数:5,代码来源:CameraConfigurationUtils.java


注:本文中的android.hardware.Camera.Area方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。