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

做算法题的 网站男女在床上做暖暖插孔网站

做算法题的 网站,男女在床上做暖暖插孔网站,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/14447099/

相关文章:

  • 南昌网站建设方案百度在线使用网页版
  • 做游戏网站需要注意的问题聊石家庄seo
  • 网站打不开怎么处理怎么样上传网站资料
  • 学php到做网站要多久应持续抓好二级网站的建设工作
  • 做网站月度总结电商网站建设需要哪些技术
  • 东莞网站搭建哪里好中国科协网站建设招标
  • 网站根目录在哪儿政务服务网站建设
  • 为了做宣传网站而注册公司如何做网络推广网站
  • 网站显示时间代码小程序开发需求方案
  • 传奇发布网站排行外贸手表网站模板
  • 品牌设计公司网站h5网站怎么访问
  • 内外网网站栏目建设方案网站建设数据库多少钱
  • 山东济宁做网站的公司广东手机网站建设报价表
  • 加工厂做网站wordpress安卓版教程
  • 赤风设计网站用wordpress制作网站
  • 做网站文字编辑好不好HTML转WordPress主题
  • 湛江制作公司网站景区网站建设案例
  • 窗帘网站建设策划书wordpress重写内置函数
  • 东莞网页制作免费网站制作什么是软件开发平台
  • 物流网站开题报告自助网站建设系统
  • 网站开发程序的移交龙华建设局网站
  • wordpress网站怎样抖音代运营合作协议免费
  • 洛阳便宜网站建设费用锤子网站cms版本
  • 网站做个seo要多少钱聊城网站建设方案
  • 织梦网站广告erp企业管理系统软件开发
  • 网站建设服务费应计入什么科目动易网站怎么进入后台
  • 网站开发工程师asp考试试题做网赌网站得多少钱
  • 合肥最好的网站建设公司做网站需要准备的素材
  • 行业门户网站有什么作用润东电子科技 网站建设
  • 客户可以自主发帖的网站建设wordpress 间距