2013-04-26 31 views
5

Ben jpeg olay için bir geri arama ile takePicture çağrı:OnPictureTaken'deki görüntü bayt verileri neden yansıtılmış bir görüntü ile sonuçlanır?

@Override 
public void onPictureTaken(final byte[] data, Camera camera) { 
    Bitmap picture = BitmapFactory.decodeByteArray(data, 0, data.length); 
    MediaStore.Images.Media.insertImage(getContentResolver(), picture, "name" , "description"); 
} 

testlerde, ben görüntü daima y-ekseni etrafında yansıtılmış olduğunu bulma yaşıyorum: camera.takePicture(null, null, this); İşte

geri arama işleyicisi olduğunu. (1) Bu durumun tüm cihazlar için geçerli olup olmadığını ve (2) neden olduğunu biliyor musunuz? Bayt bilgilerinin neden kamera önizlemesinde gördüğümü temsil etmediğini anlamıyorum. Bu mantıksız bir açıklama mı?

cevap

4

Sanırım ön kamera kullanıyorsunuz değil mi? Bu, Ön Kamera'nın davranışıdır. Dizüstü bilgisayarınızda bir web kamerası kullansanız bile, aynıdır.

Düzeltmek isterseniz. Lütfen bakınız: Here

+0

Güzel! Teşekkürler. Ön kameranın * bunun gibi bir aynaya sahip olup olmadığını gösteren belgeler var mı? Yoksa bu, tüm üreticilerin izlediği yazılı bir kural değil mi? – user5243421

+0

Bence ortak bir özelliktir. Kamera size dönük olduğunda, kendi perspektifinden görüntü alacaktır. (Gördüğünüzden tam tersi.) Dokümantasyon hakkında emin değilim, ancak Samsung, HTC, Sony cihazımın tüm davranışları bu şekilde. – Calvin

İlgili konular