我在一個應用程序在Android平臺,它使用相機拍攝photos.For啓動相機我使用的是intent
ACTION_IMAGE_CAPTURE
這樣的:組定位入門意圖ACTION_IMAGE_CAPTURE
Intent camera = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
File image=new File(Environment.getExternalStorageDirectory(),"PhotoContest.jpg");
camera.putExtra(MediaStore.EXTRA_OUTPUT,Uri.fromFile(image));
imageUri=Uri.fromFile(image);
startActivityForResult(camera,1);
public void onActivityResult(int requestCode, int resultCode, Intent data){
super.onActivityResult(requestCode, resultCode, data);
switch(requestCode){
case 1:
if (resultCode == Activity.RESULT_OK) {
selectedImage = imageUri;
getContentResolver().notifyChange(selectedImage, null);
image= (ImageView) findViewById(R.id.imageview);
ContentResolver cr = getContentResolver();
Bitmap bitmap;
try {
bitmap = android.provider.MediaStore.Images.Media
.getBitmap(cr, selectedImage);
image.setImageBitmap(bitmap);
Toast.makeText(this, selectedImage.toString(),
Toast.LENGTH_LONG).show();
} catch (Exception e) {
Toast.makeText(this, "Failed to load", Toast.LENGTH_SHORT)
.show();
Log.e("Camera", e.toString());
}
}
else
if(resultCode == Activity.RESULT_CANCELED) {
Toast.makeText(EditPhoto.this, "Picture could not be taken.", Toast.LENGTH_SHORT).show();
}
}
}
的問題是所拍攝的所有照片都旋轉90度 - 水平對齊。
我也要把它放到我的清單文件:
<activity android:name=".EditPhoto">
android:screenOrientation="portrait"
</activity>
但還是沒有結果那麼任何人都可以幫我嗎?
您發佈的代碼是用於在圖像被捕獲後接收圖像。我不認爲你可以簡單地把肖像或風景。這些更多地涉及視圖的方向。但是攝像頭可以安裝並旋轉,它要求用戶旋轉設備能在看起來「正常」給他們看世界的方式。所以即使你說肖像,也可以用另一種方式投影圖像。在SDK的更高版本中,Camera上有一個setRotation(使用必須修改舊版本的參數)。圖像中可能會有EXIF標題來告訴您方向。 –
那麼解決方案是什麼!? – adrian
沒有您使用的捕獲代碼很難分辨。你可以發佈嗎? –