雖然現在已經有新的相機 API,因為測試手機版本問題(Android 4.4.4(KitKat)版本),所以祇可以使用硬件相機 Camera API(Camera1 / android.hardware.Camera),這個 API 已經被 CameraX 和 Camera2 API 取代,但編程硬件相機 Camera API也得到不少知識和經驗。
Hardward.Camera Parameters 結構 |
// Camera import android.hardware.Camera;
mCamera = Camera.open(); Camera.Parameters paramter = mCamera.getParameters(); paramter.setPreviewSize(640, 480); paramter.setFocusMode(Camera.Parameters.FOCUS_MODE_CONTINUOUS_PICTURE); mCamera.setParameters(paramter); |
android.hardware.Camera Class Parameters 類參數屬性:
Constants |
Class |
Description |
String |
antibanding_50hz
|
50Hz幀速率 |
String |
antibanding_60hz
|
60Hz幀速率 |
String |
antibanding_auto
|
自動幀速率 |
String |
antibanding_off
|
停止幀速率 |
String |
effect_aqua
|
水色效果 |
String |
effect_blackboard
|
黑板效果 |
String |
effect_mono
|
單色效果 |
String |
effect_negative
|
負片效果 |
String |
effect_none
|
無效果 |
String |
effect_posterize
|
分色效果 |
String |
effect_sepia
|
棕褐色效果 |
String |
effect_solarize
|
日曬效果 |
String |
effect_whiteboard
|
白板效果 |
String |
flash_mode_auto |
閃光燈自動模式 |
String |
flash_mode_off |
停止閃光燈 |
String |
flash_mode_on |
開啟閃光 |
String |
flash_mode_red_eye |
Flash消除紅眼模式 |
String |
flash_mode_torch |
預覽燈開啟,自動對焦和快照 |
int |
preview_fps_max_index
|
getpreviewfpsrange(int [ ])或getsupportedpreviewfpsrange() |
int |
preview_fps_min_index
|
使用最小預覽幀陣列索引getpreviewfpsrange(int [ ])或getsupportedpreviewfpsrange() |
String |
scene_mode_action |
以快速移動的物體的照片 |
String |
scene_mode_auto |
場景模式 |
String |
scene_mode_barcode |
條碼模式 |
String |
scene_mode_beach |
拍照的海灘場景模式 |
String |
scene_mode_candlelight |
拍照的點燃蠟燭場景模式 |
String |
scene_mode_fireworks |
拍照的煙火場景模式 |
String |
scene_mode_hdr |
拍照的高動態範圍成像技術場景模式 |
String |
scene_mode_landscape |
拍照的風景場景模式 |
String |
scene_mode_night |
拍照的夜景場景模式 |
String |
scene_mode_night_portrait |
拍照的夜景人像場景模式 |
String |
scene_mode_party |
拍照的聚會場景模式 |
String |
scene_mode_portrait |
拍照的人像場景模式 |
String |
scene_mode_snow |
拍照的雪地場景模式 |
String |
scene_mode_sports |
拍照的運動場景模式 |
String |
scene_mode_steadyphoto |
避免模糊的圖片(例如,由於握手) |
String |
scene_mode_sunset |
拍照的日落場景模式 |
String |
scene_mode_theatre |
拍照的劇場場景模式 |
String |
white_balance_auto
|
拍照的白平衡自動場景模式 |
String |
white_balance_cloudy_daylight
|
拍照的白平衡多雲場景模式 |
String |
white_balance_daylight
|
拍照的白平衡日光場景模式 |
String |
white_balance_fluorescent
|
拍照的白平衡日光燈場景模式 |
String |
white_balance_incandescent
|
拍照的白平衡白熾燈場景模式 |
String |
white_balance_shade
|
拍照的白平衡陰暗場景模式 |
String |
white_balance_twilight
|
拍照的白平衡暮色場景模式 |
String |
white_balance_warm_fluorescent
|
拍照的白平衡日光燈場景模式 |
android.hardware.Camera Class Parameters 類參數屬性:
Constants |
Class |
Description |
String |
flatten() |
創建一套這個物件的所有參數的單個字串參數 |
String |
get(String key) |
返回一個字串參數的值 |
String |
getantibanding() |
獲取當前antibanding設置 |
boolean |
getautoexposurelock() |
獲取自動曝光鎖定狀態 |
boolean |
getautowhitebalancelock() |
獲取自動白平衡鎖的狀態 |
String
|
getcoloreffect() |
獲取當前的顏色設置效果 |
int |
getexposurecompensation() |
獲取當前曝光補償指數 |
float |
getexposurecompensationstep() |
獲取曝光補償的步驟 |
String
|
getflashmode() |
獲取當前的閃光模式設定 |
float |
getfocallength() |
變焦距(毫米)的相機 |
List<Camera.Area>
|
getfocusareas() |
獲取當前的重點領域 |
void |
getfocusdistances(浮動[ ]輸出) |
從攝像機到一個物件似乎是焦點得距離 |
String
|
getfocusmode() |
獲取當前的焦點模式設置 |
float |
gethorizontalviewangle() |
獲取水準角度來看 |
int |
返回一個值( 字串鍵) |
返回一個整數參數的值 |
int |
getjpegquality() |
收益品質的JPEG圖像設置 |
int |
getjpegthumbnailquality() |
返回品質的JPEG圖片EXIF縮略圖設置 |
Camera.Size
|
getjpegthumbnailsize() |
返回EXIF縮略圖的JPEG圖片的尺寸 |
int |
getmaxexposurecompensation() |
得到的最大曝光補償指數 |
int |
getmaxnumdetectedfaces() |
獲取人臉支持的最大數量 |
int |
getmaxnumfocusareas() |
得到最多支援的重點領域 |
int |
getmaxnummeteringareas() |
獲取最大數量的計量領域的支持 |
int |
getmaxzoom() |
得到的縮放所允許的最大值為快照 |
List<Camera.Area>
|
getmeteringareas() |
獲取當前計量範圍 |
int |
getminexposurecompensation() |
獲得最小的曝光補償指數 |
int |
getpictureformat() |
返回的照片圖像格式 |
Camera.Size
|
getpicturesize() |
返回設置圖片尺寸 |
Camera.Size
|
getpreferredpreviewsizeforvideo() |
返回優先推薦或預覽大小(寬度和高度)圖元的視頻 |
int |
getpreviewformat() |
返回預覽幀的圖像格式有 camera.previewcallback
|
void |
getpreviewfpsrange(int [ ]範圍) |
返回當前預覽的幀的最大和最小 |
int |
getpreviewframerate() |
該方法被在API級別9取代getpreviewfpsrange(int [ ])
|
Camera.Size
|
getpreviewsize() |
返回的尺寸設置預覽圖片 |
String
|
getscenemode() |
獲取當前情景模式設置 |
List<String>
|
getsupportedantibanding() |
獲取受支持的antibanding值 |
List<String>
|
getsupportedcoloreffects() |
獲取受支持的顏色的影響 |
List<String>
|
getsupportedflashmodes() |
獲取受支援的閃光模式 |
List<String>
|
getsupportedfocusmodes() |
獲取受支援的對焦模式 |
List<Camera.Size>
|
getsupportedjpegthumbnailsizes() |
獲取受支持的JPEG縮略圖的大小 |
List<Integer>
|
getsupportedpictureformats() |
獲取受支援的圖片格式 |
List<Camera.Size>
|
getsupportedpicturesizes() |
獲取受支援的圖片大小 |
List<Integer>
|
getsupportedpreviewformats() |
獲取受支援的預覽格式 |
List<int[]>
|
getsupportedpreviewfpsrange() |
獲取受支持的預覽幀(幀每秒)的範圍 |
List<Integer>
|
getsupportedpreviewframerates() |
該方法被在API級別9取代getsupportedpreviewfpsrange()
|
List<Camera.Size>
|
getsupportedpreviewsizes() |
獲取受支援的預覽圖片 |
List<String>
|
getsupportedscenemodes() |
獲取受支援的場景模式 |
List<Camera.Size>
|
getsupportedvideosizes() |
獲取受支援的視頻幀的大小,可以通過使用 mediarecorder |
List<String>
|
getsupportedwhitebalance() |
獲取受支持的白平衡 |
float |
getverticalviewangle() |
獲取垂直視角度 |
boolean |
getvideostabilization() |
得到的視頻穩定化的現狀 |
String
|
getwhitebalance() |
獲取當前白平衡設置 |
int |
getzoom() |
獲取當前的縮放值 |
List<Integer>
|
getzoomratios() |
獲取所有的變焦縮放比例值 |
boolean |
isautoexposurelocksupported() |
如果自動曝光鎖定支持,返回true |
boolean |
isautowhitebalancelocksupported() |
如果自動白平衡鎖定支持返回true |
boolean |
issmoothzoomsupported() |
如果順利變焦支持返回true |
boolean |
isvideosnapshotsupported() |
如果視頻快照支援返回true |
boolean |
isvideostabilizationsupported() |
如果視頻穩定的支援,返回true |
boolean |
iszoomsupported() |
如果變焦支持返回true |
void |
拆下( 字串鍵)
|
|
void |
removegpsdata() |
消除GPS緯度,經度,高度,和從參數時間戳記 |
void |
配置( 字串關鍵的, 字串值) |
設置一個字串參數 |
void |
配置( 字串關鍵,int值) |
設置一個整數參數 |
void |
setantibanding( 字串antibanding) |
設置antibanding |
void |
setautoexposurelock(布林切換) |
設置自動曝光鎖定狀態 |
void |
setautowhitebalancelock(布林切換) |
設置自動白平衡鎖定狀態 |
void |
setcoloreffect( 字串值) |
設置當前的顏色設置效果 |
void |
setexposurecompensation(int值) |
設置曝光補償指數 |
void |
setflashmode( 字串值) |
設置閃光模式 |
void |
setfocusareas( 列表< 相機面積>重點領域) |
設置焦點區域 |
void |
setfocusmode( 字串值) |
設置焦點模式 |
void |
setgpsaltitude(雙高度) |
集GPS高程 |
void |
setgpslatitude(雙緯度) |
集GPS經緯度座標 |
void |
setgpslongitude(雙經度) |
集GPS經緯度座標 |
void |
setgpsprocessingmethod( 字串processing_method) |
集GPS處理方法 |
void |
setgpstimestamp(長時間) |
集GPS時間戳記 |
void |
setjpegquality(int品質) |
捕獲的圖像集的JPEG品質 |
void |
setjpegthumbnailquality(int品質) |
套在JPEG圖片EXIF縮略圖品質 |
void |
setjpegthumbnailsize(int,int寬度,高度) |
集的EXIF縮略圖的JPEG圖片的尺寸 |
void |
setmeteringareas( 列表< 相機面積> meteringareas) |
集計量範圍 |
void |
setpictureformat(int pixel_format) |
設置圖片的圖像格式 |
void |
setpicturesize(int,int寬度,高度) |
設置圖片的尺寸 |
void |
setpreviewformat(int pixel_format) |
設置預覽照片的圖像格式 |
void |
setpreviewfpsrange(int,int max) |
最小和最大幀設置預覽 |
void |
setpreviewframerate(int FPS) |
該方法被在API級別9取代setpreviewfpsrange(int,int)
|
void |
setpreviewsize(int,int寬度,高度) |
設置預覽照片的尺寸 |
void |
setrecordinghint(布林提示) |
集記錄模式的提示 |
void |
setrotation(int旋轉) |
集度相對於相機的方向順時針旋轉角度 |
void |
setscenemode( 字串值) |
設置場景模式 |
void |
setvideostabilization(布林切換) |
啟用和禁用視頻穩定 |
void |
setwhitebalance( 字串值) |
設置白平衡 |
void |
setzoom(int值) |
設置縮放值 |
Void |
unflatten( 字串扁平) |
以一個扁平的字串參數,增加了每一個這個參數物件 |
沒有留言:
張貼留言