我正在開發一個相機應用基本上作爲郵件應用程序的一部分,附加圖像等應用程式需要連續工作> = 2.2 SDK和:照相機API:跨設備發出
我不能使用默認的Android相機像我很樂意,因爲:
應用程序的性質決定了圖像不應該被保存到磁盤曾經和一些原始設備製造商(三星)喜歡這樣做不給你是一個選擇。
我不能調用其他任何相機應用可以攔截,因爲那時,應用程序可以保存圖像的意圖。
我目前的問題是處理Android攝像頭顯然不喜歡縱向的事實。具體來說,在一些挖掘後,我正在監視顯示屏,並在輪換時調用setDisplayOrientation(90)
。這可行,但Surfaceview尺寸也需要改變,這必須在支持的維度內完成,否則參數設置會崩潰應用程序。
我與另一這樣做SO片斷,我發現here(該getBestPreviewSize()
方法),但它有一個明顯的問題,我不能相信我還沒有發現任何人擁有。在takePicture
生命週期的
部分涉及調用PostView
圖片回調。這是顯示當前暫停的SurfaceView
圖像的靜止圖像,該圖像將通過byteArray返回到raw和/或jpeg回調。我的問題是,這個圖像仍然在一些看似隨意的測試設備上傾斜!因此,行爲是用戶以完美的4:3寬高比觀看動態相機圖像,直到他們拍攝照片並且它們呈現的圖像被擠壓。請注意,字節數組本身是正確的,當我在消息傳遞結束點構造Bitmap
時,它顯示正常,但這仍然是一個問題。
我看不出在此時如何改變靜態圖像顯示。誰能幫我這個?
你可以保留以前的postview圖片回調,並顯示實際拍攝照片時的情況嗎?你最後可以從拍攝的圖片數據創建一個位圖,並顯示,而不是postview圖像數據?我想這歸結於最終的圖像數據是否搞亂了,或者表面視圖是否有變化。 –