pub struct Camera_Parameters { /* private fields */ }
Expand description
相机服务设置。要使相机参数生效,应用程序必须调用 setParameters(Camera.Parameters)。 例如,在调用 setWhiteBalance 后,直到使用更改后的参数对象调用 setParameters(Camera.Parameters),白平衡才会真正改变。不同的设备可能具有不同的相机功能,例如图片大小或闪光模式。 应用程序应在设置参数之前查询相机功能。例如,应用程序应在调用 setColorEffect(String) 之前调用 getSupportedColorEffects()。 如果相机不支持色彩效果,getSupportedColorEffects() 将返回 null。
Implementations§
Source§impl Camera_Parameters
impl Camera_Parameters
Sourcepub const FLASH_MODE_OFF: &'static str = "off"
pub const FLASH_MODE_OFF: &'static str = "off"
不会发射 Flash。
Sourcepub const FLASH_MODE_AUTO: &'static str = "auto"
pub const FLASH_MODE_AUTO: &'static str = "auto"
需要时闪光灯会自动闪光。根据驱动程序的不同,闪光灯可能在预览、自动对焦或快照时闪光。
Sourcepub const FLASH_MODE_ON: &'static str = "on"
pub const FLASH_MODE_ON: &'static str = "on"
拍摄快照时闪光灯始终会亮起。根据驱动程序的不同,预览或自动对焦时闪光灯也可能亮起。
Sourcepub const FLASH_MODE_RED_EYE: &'static str = "red-eye"
pub const FLASH_MODE_RED_EYE: &'static str = "red-eye"
在防红眼模式下,闪光灯将会闪光。
Sourcepub const FLASH_MODE_TORCH: &'static str = "torch"
pub const FLASH_MODE_TORCH: &'static str = "torch"
预览、自动对焦和快照时持续发光。这也可以用于视频录制。
Sourcepub const SCENE_MODE_AUTO: &'static str = "auto"
pub const SCENE_MODE_AUTO: &'static str = "auto"
场景模式已关闭。
Sourcepub const SCENE_MODE_ACTION: &'static str = "action"
pub const SCENE_MODE_ACTION: &'static str = "action"
拍摄快速移动的物体。与 SCENE_MODE_SPORTS 相同。
Sourcepub const SCENE_MODE_PORTRAIT: &'static str = "portrait"
pub const SCENE_MODE_PORTRAIT: &'static str = "portrait"
拍摄人物照片。
Sourcepub const SCENE_MODE_LANDSCAPE: &'static str = "landscape"
pub const SCENE_MODE_LANDSCAPE: &'static str = "landscape"
拍摄远处的物体。
Sourcepub const SCENE_MODE_NIGHT: &'static str = "night"
pub const SCENE_MODE_NIGHT: &'static str = "night"
晚上拍照。
Sourcepub const SCENE_MODE_NIGHT_PORTRAIT: &'static str = "night-portrait"
pub const SCENE_MODE_NIGHT_PORTRAIT: &'static str = "night-portrait"
晚上拍摄人物照片。
Sourcepub const SCENE_MODE_THEATRE: &'static str = "theatre"
pub const SCENE_MODE_THEATRE: &'static str = "theatre"
在剧院拍照。闪光灯已关闭。
Sourcepub const SCENE_MODE_BEACH: &'static str = "beach"
pub const SCENE_MODE_BEACH: &'static str = "beach"
在海滩上拍照。
Sourcepub const SCENE_MODE_SNOW: &'static str = "snow"
pub const SCENE_MODE_SNOW: &'static str = "snow"
在雪地上拍照。
Sourcepub const SCENE_MODE_SUNSET: &'static str = "sunset"
pub const SCENE_MODE_SUNSET: &'static str = "sunset"
拍摄日落照片。
Sourcepub const SCENE_MODE_STEADYPHOTO: &'static str = "steadyphoto"
pub const SCENE_MODE_STEADYPHOTO: &'static str = "steadyphoto"
避免照片模糊(例如由于手抖)。
Sourcepub const SCENE_MODE_FIREWORKS: &'static str = "fireworks"
pub const SCENE_MODE_FIREWORKS: &'static str = "fireworks"
用于拍摄烟花表演。
Sourcepub const SCENE_MODE_SPORTS: &'static str = "sports"
pub const SCENE_MODE_SPORTS: &'static str = "sports"
拍摄快速移动的物体。与 SCENE_MODE_ACTION 相同。
Sourcepub const SCENE_MODE_PARTY: &'static str = "party"
pub const SCENE_MODE_PARTY: &'static str = "party"
拍摄室内低光照片。
Sourcepub const SCENE_MODE_CANDLELIGHT: &'static str = "candlelight"
pub const SCENE_MODE_CANDLELIGHT: &'static str = "candlelight"
捕捉烛光照亮的场景的自然温暖色彩。
Sourcepub const SCENE_MODE_BARCODE: &'static str = "barcode"
pub const SCENE_MODE_BARCODE: &'static str = "barcode"
应用程序正在寻找条形码。摄像头驱动程序将针对条形码读取进行优化。
Sourcepub const SCENE_MODE_HDR: &'static str = "hdr"
pub const SCENE_MODE_HDR: &'static str = "hdr"
使用高动态范围成像技术捕捉场景。相机将返回与常规捕捉相比具有扩展动态范围的图像。捕捉这样的图像可能比常规捕捉花费更长的时间。
Sourcepub const FOCUS_MODE_AUTO: &'static str = "auto"
pub const FOCUS_MODE_AUTO: &'static str = "auto"
自动对焦模式。应用程序应调用 autoFocus(AutoFocusCallback) 以在此模式下启动对焦。
Sourcepub const FOCUS_MODE_INFINITY: &'static str = "infinity"
pub const FOCUS_MODE_INFINITY: &'static str = "infinity"
焦点设置在无穷远处。在此模式下,应用程序不应调用 autoFocus(AutoFocusCallback)。
Sourcepub const FOCUS_MODE_MACRO: &'static str = "macro"
pub const FOCUS_MODE_MACRO: &'static str = "macro"
微距(特写)对焦模式。应用程序应调用 autoFocus(AutoFocusCallback) 以在此模式下启动对焦。
Sourcepub const FOCUS_MODE_FIXED: &'static str = "fixed"
pub const FOCUS_MODE_FIXED: &'static str = "fixed"
焦点是固定的。如果焦点不可调节,则相机始终处于此模式。如果相机具有自动对焦,则此模式可以修复焦点,该焦点通常在高焦距距离处。应用程序不应在此模式下调用AutoFocus(AutoFocusCallback)。
Sourcepub const FOCUS_MODE_EDOF: &'static str = "edof"
pub const FOCUS_MODE_EDOF: &'static str = "edof"
扩展景深 (EDOF)。聚焦以数字方式连续完成。应用程序不应在此模式下调用 autoFocus(AutoFocusCallback)。
Sourcepub const FOCUS_MODE_CONTINUOUS_VIDEO: &'static str = "continuous-video"
pub const FOCUS_MODE_CONTINUOUS_VIDEO: &'static str = "continuous-video"
连续自动对焦模式适用于视频录制。相机会连续尝试对焦。这是视频录制的最佳选择,因为焦点变化平稳。 在此模式下,应用程序仍然可以调用 takePicture(Camera.ShutterCallback, Camera.PictureCallback, Camera.PictureCallback),但拍摄对象可能未对焦。设置参数后,自动对焦开始。 从 API 级别 14 开始,应用程序可以在此模式下调用 autoFocus(AutoFocusCallback)。对焦回调将立即返回一个布尔值,指示对焦是否清晰。调用 autoFocus 后,对焦位置被锁定。 如果应用程序想要恢复连续对焦,必须调用 cancelAutoFocus。重新启动预览不会恢复连续自动对焦。要停止连续对焦,应用程序应将对焦模式更改为其他模式。
Sourcepub const FOCUS_MODE_CONTINUOUS_PICTURE: &'static str = "continuous-picture"
pub const FOCUS_MODE_CONTINUOUS_PICTURE: &'static str = "continuous-picture"
连续自动对焦模式,用于拍照。相机连续尝试对焦。对焦变化速度比 FOCUS_MODE_CONTINUOUS_VIDEO 更快。设置该参数后,自动对焦开始。 应用程序可以在此模式下调用 autoFocus(AutoFocusCallback)。如果自动对焦正在扫描中,则对焦回调将在扫描完成后返回。如果自动对焦未扫描,则对焦回调将立即返回一个布尔值,该布尔值指示对焦是否清晰。 然后,应用程序可以决定是立即拍照还是将对焦模式更改为自动,并运行完整的自动对焦周期。调用 autoFocus 后,对焦位置将被锁定。如果应用程序想要恢复连续对焦,则必须调用 cancelAutoFocus。重新启动预览不会恢复连续自动对焦。 要停止连续对焦,应用程序应将对焦模式更改为其他模式。
Sourcepub const FOCUS_DISTANCE_NEAR_INDEX: i32 = 0i32
pub const FOCUS_DISTANCE_NEAR_INDEX: i32 = 0i32
与 getFocusDistances(float[]) 一起使用的近焦距数组索引。
Sourcepub const FOCUS_DISTANCE_OPTIMAL_INDEX: i32 = 1i32
pub const FOCUS_DISTANCE_OPTIMAL_INDEX: i32 = 1i32
与 getFocusDistances(float[]) 一起使用的最佳焦距数组索引。
Sourcepub const FOCUS_DISTANCE_FAR_INDEX: i32 = 2i32
pub const FOCUS_DISTANCE_FAR_INDEX: i32 = 2i32
与 getFocusDistances(float[]) 一起使用的远焦距离数组索引。
Sourcepub const PREVIEW_FPS_MIN_INDEX: i32 = 0i32
pub const PREVIEW_FPS_MIN_INDEX: i32 = 0i32
与 getPreviewFpsRange(int[]) 或 getSupportedPreviewFpsRange() 一起使用的最小预览 fps 的数组索引。
Sourcepub const PREVIEW_FPS_MAX_INDEX: i32 = 1i32
pub const PREVIEW_FPS_MAX_INDEX: i32 = 1i32
用于“getPreviewFpsRange(int[])”或“getSupportedPreviewFpsRange()”的最大预览 fps 的数组索引。
Sourcepub fn flatten(&self) -> String
pub fn flatten(&self) -> String
创建一个包含此参数对象中设置的所有参数的字符串。unflatten(String) 方法执行相反的操作。 返回:包含此参数对象的所有值的字符串,以分号分隔的键值对形式
Sourcepub fn unflatten(&self, flattened: String)
pub fn unflatten(&self, flattened: String)
获取扁平化参数字符串并将每个参数添加到此参数对象。flatten() 方法执行相反的操作。
flattened
以分号分隔的参数字符串(键值对)
Sourcepub fn get(&self, key: String) -> Result<String, <Self as JType>::Error>
pub fn get(&self, key: String) -> Result<String, <Self as JType>::Error>
返回字符串参数的值。
返回:参数的字符串值
key
参数的键名
Sourcepub fn get_int(&self, key: String) -> Result<i32, <Self as JType>::Error>
pub fn get_int(&self, key: String) -> Result<i32, <Self as JType>::Error>
返回整数参数的值。
返回:参数的 int 值
key
参数的键名称
Sourcepub fn set_preview_size(
&self,
width: i32,
height: i32,
) -> Result<(), <Self as JType>::Error>
pub fn set_preview_size( &self, width: i32, height: i32, ) -> Result<(), <Self as JType>::Error>
设置预览图片的尺寸。如果预览已经开始,应用程序应先停止预览,然后再更改预览大小。宽度和高度的边基于相机方向。
也就是说,预览大小是在按显示方向旋转之前的大小。因此,应用程序在设置预览大小时需要考虑显示方向。
例如,假设相机支持 480x320 和 320x480 预览大小。应用程序需要 3:2 的预览比例。如果显示方向设置为 0 或 180,则预览大小应设置为 480x320。
如果显示方向设置为 90 或 270,则预览大小应设置为 320x480。设置图片大小和缩略图大小时也应考虑显示方向。
176x144 (QCIF) 分辨率的例外情况:相机设备通常具有从较大分辨率缩小到较小分辨率的固定能力,由于高分辨率图像传感器设备上的这一限制,有时不完全支持 QCIF 分辨率。
因此,尝试配置 QCIF 预览大小,任何图片或视频尺寸大于 1920x1080(宽度或高度)可能不受支持,如果不支持,setParameters(Camera.Parameters) 可能会抛出 RuntimeException。
width
图片的宽度,以像素为单位
height
图片的高度,以像素为单位
Sourcepub fn get_preview_size(&self) -> Camera_Size
pub fn get_preview_size(&self) -> Camera_Size
返回预览图片的尺寸设置。 返回:带有预览图片宽度和高度设置的 Size 对象