2010-07-19 69 views
1

我有一個使用相機的應用程序,將預覽發送到SurfaceHolder。在我一直在開發的HTC Desire上,一切正常,但是當我在Samsung Galaxy S上運行它時,預覽圖像旋轉了90度。Galaxy S上的相機​​預覽版

代碼嘗試將從parameters.getSupportedPreviewSizes()返回的最佳大小與Surface的寬度和高度(作爲寬度和高度傳遞到SurfaceChanged)進行匹配。

(當從應用中拍攝圖像時,圖像也在銀河系上旋轉)。

有沒有其他人在Galaxy上的預覽有問題?或者更好的解決了這些問題?

回答

0

是的,有完全一樣的,請參閱: Camera preview on Android - strange on Samsung Galaxy S

爲了在右向旋轉的最終圖像以及凸輪預覽,我做一個手動旋轉這樣

所拍攝的圖像上
.. 
    final Matrix matrix = new Matrix(); 
    matrix.postScale(scaleWidth, scaleHeight); 
    matrix.preRotate(degrees); 

    // recreate the new Bitmap 
    final Bitmap resizedBitmap = Bitmap.createBitmap(bitmapOrg, x, y, width, 
      height, matrix, true); 
.. 
+0

謝謝你,你是如何測試旋轉是否需要? – Lyndon 2010-07-20 11:48:28

+0

我完全刪除/沒有使用p.set(「orientation」,「portrait」); (「rotation」,90);參數,因此在所有情況下都會旋轉圖像。這樣它應該適用於所有設備。但我不確定,最近我無法測試。就我而言,我在三星Galaxy S上遇到了不支持這些參數的問題。 我不知道如何檢查一般,你應該需要一個支持這些參數的模型列表,然後檢查設備模型 - 可以通過API讀取。 但我想也許第一種避免這些參數的方法可能更安全。 – 2010-07-20 12:39:01

+0

我實際上並沒有使用這些參數,因此避免它們一定很容易。 – Lyndon 2010-07-20 17:35:27