簡體   English   中英

如何將Android默認相機應用設置為僅縱向

[英]How to set Android default camera app for portrait orientation only

在我的android應用程序中,我為此使用Android default camera捕獲照片,下面使用了以下代碼。捕獲照片后,我已將Image顯示為全屏模式下的另一個活動。如果以portrait模式捕獲了圖像,則可以設置整個圖像進入全屏模式。 顯示完圖像后,它可以執行我的操作。但是,如果我從landscape捕獲照片,則所拍攝的圖像將在屏幕上拉伸。 因此我只想在人像模式下不橫向拍攝照片。 所以我怎么只能將相機應用鎖定為人像。

String fileName = "Camera_Example.jpg";                
    ContentValues values = new ContentValues();                
    values.put(MediaStore.Images.Media.TITLE, fileName);                
    values.put(MediaStore.Images.Media.DESCRIPTION,"Image capture by camera");                
    imageUri = getContentResolver().insert(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, values);                       
    Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
    intent.putExtra(MediaStore.EXTRA_OUTPUT, imageUri);
    intent.putExtra(MediaStore.EXTRA_SCREEN_ORIENTATION,ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);   
    startActivityForResult(intent,CAPTURE_IMAGE_ACTIVITY_REQUEST_CODE); 

AndroidManifest.xml

 <activity
     android:name=".TestActivity"
     android:screenOrientation="portrait"
     android:configChanges="orientation"
     android:theme="@android:style/Theme.NoTitleBar" >
     </activity>

人像拍攝的照片 在此處輸入圖片說明

全屏人像拍攝的照片 在此處輸入圖片說明

風景照 在此處輸入圖片說明

全屏拍攝的風景照片 在此處輸入圖片說明

如何鎖定僅用於人像的相機應用程序

你不知道 您沒有編寫相機應用程序,因為有成百上千個相機應用程序。 由相機應用程序和用戶來決定方向。

除了:

  • 在許多設備上,縱向模式下您將遇到相同的問題

  • 您的風景照片也似乎被拉長了,盡管沒有那么劇烈

但是,如果我從風景中捕獲照片,則所拍攝的圖像將在屏幕上拉伸

您有一個,也許還有兩個問題:

  1. 您沒有考慮照片的方向,因此正在加載風景照片,就像它是人像一樣。

  2. 您的ImageView或其父級可能配置錯誤。 如果要保持照片的長寬比, 並且希望ImageView填充某個區域,則ImageView需要具有相同的長寬比。

如果您真的只想以人像模式拍照,則除了解決上面提到的問題之外,您還需要自己使用android.hardware.Camera ,而不是啟動第三方相機應用程序。

嘗試使用以下代碼旋轉相機:

@Override
public void surfaceCreated(SurfaceHolder surfaceHolder) {
    camera = Camera.open();
    camera.setDisplayOrientation(90); // camera  portrait oriantation
    try {
        camera.setPreviewDisplay(holder);
    } catch (IOException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM