当前位置: 首页 > news >正文

做网站的计划wordpress 4.6.11

做网站的计划,wordpress 4.6.11,wordpress智能表单,网站建设众包平台一、Camera 简化思路 在 Camera 的开发中#xff0c;其实我们通常只关注打开相机、图像预览和关闭相机#xff0c;其他的步骤我们不应该花费太多的精力 为此#xff0c;应该提供一个工具类#xff0c;它有处理相机的一些基本工具方法#xff0c;包括获取摄像头 ID、选择最…一、Camera 简化思路 在 Camera 的开发中其实我们通常只关注打开相机、图像预览和关闭相机其他的步骤我们不应该花费太多的精力 为此应该提供一个工具类它有处理相机的一些基本工具方法包括获取摄像头 ID、选择最优预览尺寸以及打印相机参数信息 二、Camera 工具类 CameraIdResult.java public class CameraIdResult {private int qzCameraId -1; // 前置摄像头 idprivate int hzCameraId -1; // 后置摄像头 idpublic CameraIdResult() {}public CameraIdResult(int qzCameraId, int hzCameraId) {this.qzCameraId qzCameraId;this.hzCameraId hzCameraId;}public int getQzCameraId() {return qzCameraId;}public void setQzCameraId(int qzCameraId) {this.qzCameraId qzCameraId;}public int getHzCameraId() {return hzCameraId;}public void setHzCameraId(int hzCameraId) {this.hzCameraId hzCameraId;} }MyCameraTool.java public class MyCameraTool {public static final String TAG MyCameraTool.class.getSimpleName();/*** 得到摄像头 Id 对象** return 摄像头 Id 对象它有前置摄像头 Id 和后置摄像头 Id*/public static CameraIdResult getCameraIdResult() {CameraIdResult cameraIdResult new CameraIdResult();int numberOfCameras Camera.getNumberOfCameras();Log.i(TAG, ------------------------------ 摄像头个数 numberOfCameras);for (int cameraId 0; cameraId numberOfCameras; cameraId) {Camera.CameraInfo cameraInfo new Camera.CameraInfo();Camera.getCameraInfo(cameraId, cameraInfo);if (cameraInfo.facing Camera.CameraInfo.CAMERA_FACING_FRONT) {Log.i(TAG, ------------------------------ 前置摄像头cameraId 为 cameraId);cameraIdResult.setQzCameraId(cameraId);}if (cameraInfo.facing Camera.CameraInfo.CAMERA_FACING_BACK) {Log.i(TAG, ------------------------------ 后置摄像头cameraId 为 cameraId);cameraIdResult.setHzCameraId(cameraId);} else {Log.i(TAG, ------------------------------ 其他摄像头cameraId 为 cameraId);}}return cameraIdResult;}/*** 根据 SurfaceView 的尺寸和相机支持的预览尺寸来选择最优的预览尺寸** param sizes 相机支持的预览尺寸列表* param w SurfaceView 的宽度* param h SurfaceView 的高度* return 最优的预览尺寸如果没有合适的尺寸则返回 null*/public static Camera.Size getOptimalPreviewSize(ListCamera.Size sizes, int w, int h) {if (sizes null) return null;final double ASPECT_TOLERANCE 0.1;double targetRatio (double) h / w;Camera.Size optimalSize null;double minDiff Double.MAX_VALUE;int targetHeight h;// 遍历所有支持的预览尺寸for (Camera.Size size : sizes) {// 检查宽高比是否接近目标宽高比double ratio (double) size.width / size.height;if (Math.abs(ratio - targetRatio) ASPECT_TOLERANCE) continue;// 计算当前尺寸与目标尺寸的宽度差异// 如果差异小于当前最小差异则更新最优尺寸和最小差异if (Math.abs(size.height - targetHeight) minDiff) {optimalSize size;minDiff Math.abs(size.height - targetHeight);}}// 如果找不到接近目标宽高比的尺寸则选择最接近目标高度的尺寸if (optimalSize null) {minDiff Double.MAX_VALUE;for (Camera.Size size : sizes) {if (Math.abs(size.height - targetHeight) minDiff) {optimalSize size;minDiff Math.abs(size.height - targetHeight);}}}return optimalSize;}/*** 打印相机参数信息** param parameters 相机参数对象*/public static void showParameters(Camera.Parameters parameters) {Camera.Size previewSize parameters.getPreviewSize();Log.i(TAG, getPreviewSize);Log.i(TAG, ---------- previewSize.width - previewSize.height);ListCamera.Size supportedPreviewSizes parameters.getSupportedPreviewSizes();Log.i(TAG, supportedPreviewSizes);Log.i(TAG, supportedPreviewSizes size: supportedPreviewSizes.size());for (Camera.Size supportedPreviewSize : supportedPreviewSizes) {Log.i(TAG, ---------- supportedPreviewSize.width - supportedPreviewSize.height);}Camera.Size pictureSize parameters.getPictureSize();Log.i(TAG, getPictureSize);Log.i(TAG, ---------- pictureSize.width - pictureSize.height);ListCamera.Size supportedPictureSizes parameters.getSupportedPictureSizes();Log.i(TAG, getSupportedPictureSizes);Log.i(TAG, getSupportedPictureSizes: supportedPictureSizes.size());for (Camera.Size supportedPictureSize : supportedPictureSizes) {Log.i(TAG, ---------- supportedPictureSize.width - supportedPictureSize.height);}String focusMode parameters.getFocusMode();Log.i(TAG, getFocusMode);Log.i(TAG,---------- focusMode);String whiteBalance parameters.getWhiteBalance();Log.i(TAG, getWhiteBalance);Log.i(TAG,---------- whiteBalance);int exposureCompensation parameters.getExposureCompensation();Log.i(TAG, getExposureCompensation);Log.i(TAG,---------- exposureCompensation);String flashMode parameters.getFlashMode();Log.i(TAG, getFlashMode);Log.i(TAG,---------- flashMode);} }三、Camera 工具类解析 1、获取取摄像头 ID 该方法用于获取取摄像头 ID它会返回一个 cameraIdResult 对象 cameraIdResult 对象有两个属性为 qzCameraId 和 hzCameraId分别代表前置摄像头 ID 和后置摄像头 ID如果 qzCameraId 或 hzCameraId 的值为 -1代表没有获取到 public static CameraIdResult getCameraIdResult() {CameraIdResult cameraIdResult new CameraIdResult();int numberOfCameras Camera.getNumberOfCameras();Log.i(TAG, ------------------------------ 摄像头个数 numberOfCameras);for (int cameraId 0; cameraId numberOfCameras; cameraId) {Camera.CameraInfo cameraInfo new Camera.CameraInfo();Camera.getCameraInfo(cameraId, cameraInfo);if (cameraInfo.facing Camera.CameraInfo.CAMERA_FACING_FRONT) {Log.i(TAG, ------------------------------ 前置摄像头cameraId 为 cameraId);cameraIdResult.setQzCameraId(cameraId);}if (cameraInfo.facing Camera.CameraInfo.CAMERA_FACING_BACK) {Log.i(TAG, ------------------------------ 后置摄像头cameraId 为 cameraId);cameraIdResult.setHzCameraId(cameraId);} else {Log.i(TAG, ------------------------------ 其他摄像头cameraId 为 cameraId);}}return cameraIdResult; }2、选择最优预览图像尺寸 该方法用于选择最优预览图像尺寸设置最优预览图像尺寸能保证在预览图像时例如SurfaceView图像不被拉伸 public static Camera.Size getOptimalPreviewSize(ListCamera.Size sizes, int w, int h) {if (sizes null) return null;final double ASPECT_TOLERANCE 0.1;double targetRatio (double) h / w;Camera.Size optimalSize null;double minDiff Double.MAX_VALUE;int targetHeight h;// 遍历所有支持的预览尺寸for (Camera.Size size : sizes) {// 检查宽高比是否接近目标宽高比double ratio (double) size.width / size.height;if (Math.abs(ratio - targetRatio) ASPECT_TOLERANCE) continue;// 计算当前尺寸与目标尺寸的宽度差异// 如果差异小于当前最小差异则更新最优尺寸和最小差异if (Math.abs(size.height - targetHeight) minDiff) {optimalSize size;minDiff Math.abs(size.height - targetHeight);}}// 如果找不到接近目标宽高比的尺寸则选择最接近目标高度的尺寸if (optimalSize null) {minDiff Double.MAX_VALUE;for (Camera.Size size : sizes) {if (Math.abs(size.height - targetHeight) minDiff) {optimalSize size;minDiff Math.abs(size.height - targetHeight);}}}return optimalSize; }3、打印相机参数信息 该方法用于打印相机参数信息用于了解设备并根据业务做更合适的设置 例如根据 supportedPreviewSizes 可以对预览图像的大小做更合适的设置SurfaceView、setPreviewSize 方法 再例如根据 getSupportedPictureSizes 可以对拍照时图片的大小做更合适的设置setPictureSize 方法 public static void showParameters(Camera.Parameters parameters) {Camera.Size previewSize parameters.getPreviewSize();Log.i(TAG, getPreviewSize);Log.i(TAG, ---------- previewSize.width - previewSize.height);ListCamera.Size supportedPreviewSizes parameters.getSupportedPreviewSizes();Log.i(TAG, supportedPreviewSizes);Log.i(TAG, supportedPreviewSizes size: supportedPreviewSizes.size());for (Camera.Size supportedPreviewSize : supportedPreviewSizes) {Log.i(TAG, ---------- supportedPreviewSize.width - supportedPreviewSize.height);}Camera.Size pictureSize parameters.getPictureSize();Log.i(TAG, getPictureSize);Log.i(TAG, ---------- pictureSize.width - pictureSize.height);ListCamera.Size supportedPictureSizes parameters.getSupportedPictureSizes();Log.i(TAG, getSupportedPictureSizes);Log.i(TAG, getSupportedPictureSizes: supportedPictureSizes.size());for (Camera.Size supportedPictureSize : supportedPictureSizes) {Log.i(TAG, ---------- supportedPictureSize.width - supportedPictureSize.height);}String focusMode parameters.getFocusMode();Log.i(TAG, getFocusMode);Log.i(TAG,---------- focusMode);String whiteBalance parameters.getWhiteBalance();Log.i(TAG, getWhiteBalance);Log.i(TAG,---------- whiteBalance);int exposureCompensation parameters.getExposureCompensation();Log.i(TAG, getExposureCompensation);Log.i(TAG,---------- exposureCompensation);String flashMode parameters.getFlashMode();Log.i(TAG, getFlashMode);Log.i(TAG,---------- flashMode); }
http://www.hkea.cn/news/14324720/

相关文章:

  • 提示网站建设页面企业型网站制作
  • 东营市东营网站设计广东住房和城乡建设厅网站造价
  • wordpress前端开发河北百度seo关键词
  • 微信公众平台如何与wordpress对接实现自动回复功能资阳优化团队平台
  • 江门企业做网站广东网站建设
  • pc站转换手机网站网站推广途径有哪些
  • 如何看网站空间问题助贷获客系统
  • 网站下载的网页修改下面版权所有网站优化北京联系电话?
  • 松滋网站开发黄页企业名录
  • 精品简历模板网站工装装修
  • 信用网站建设意见宝应网页设计
  • 遵义网站制作小程序化州网站建设公司
  • 常州市建设工程质监站网站wordpress评论修改
  • 企业网站是企业在互联网上进行网络营销做维修电器网站
  • 局网站建设管理制度台中网站建设
  • 江西专业的网站建设公司在俄罗斯用钱让女性做h事情的网站
  • 昆山app网站制作自动提卡的网站怎么做的
  • 怎么做网页投票整站优化与关键词排名
  • tomcat 怎么做网站装饰装修网站大全
  • 纯静态网站开发公司网站建设知乎
  • 江苏建设人才网网站做房产网站怎么样
  • 微信公众号开发网站开发做ppt网站大全
  • 做网站的素材都在哪里下载互联网编程培训
  • 网站开发服务wordpress固定链接设置.html
  • 容易被收录的网站人才招聘类网站开发文档
  • 一个空间安装多个网站百度网站关键词优化
  • 渭南免费做网站网页设计策划书ppt
  • 网站开发竞聘报告网站建设 邦
  • html5手机网站返回顶部品牌网站建设优化公司
  • 建设网站用什么好个人logo创意设计免费