2010-08-17 30 views
9

Şu anda Motorola Droid telefonumdaki kameramı ekranımın boyutuna (854 x 480 piksel) uygun bir görüntü almak üzere ayarlamaya çalışıyorum; gibi kamera için parametreler:Android'de kamera görüntü boyutunun ayarlanması

@Override 
public void onPictureTaken(byte[] data, Camera camera) { 
    Bitmap image = BitmapFactory.decodeByteArray(data, 0, data.length); 
    //Size imageSize = camera.getParameters().getPictureSize(); 
    //image = Bitmap.createBitmap(image, 0, 0, imageSize.width, imageSize.height); 
    this.mCameraView.setBackgroundDrawable(new BitmapDrawable(image)); 
} 
:

Camera.Parameters parameters = this.mCamera.getParameters(); 
Log.i(TAG, "CAMERA SIZE: (" + this.mCameraView.getWidth() + ", " + this.mCameraView.getHeight() + ")"); 
parameters.setPictureSize(this.mCameraView.getWidth(), this.mCameraView.getHeight()); 
this.mCamera.setParameters(parameters); 
this.mCamera.takePicture(null, null, this); 

benim aktivitesi (log çağrıları hariç) onPictureTaken ait Camera.PictureCallback yöntemini uygulamak zorunda takePicture yöntemi bunu çağrıldığında bu yöntemi çalışır

Bazı nedenlerden dolayı kameram 1280’de fotoğraf çekiyor x 960. Bu, kameranın bir görüntüyü yakalayabileceği bir tür minimum boyut mu? Günlük aramalarından, kameranın parametrelerinin hala bir fotoğraf boyutunun 854 x 480 olmasını sağlayacak şekilde ayarlandığını görebiliyorum, ancak görüntü 1280 x 960 olarak çıkıyor. Fotoğrafın hatalı bir şekilde kodunu çözüyor muyum? Başka bir şey yanlış mı yapıyorum?

Verebileceğiniz herhangi bir yardım için şimdiden teşekkür ederiz!

Saygılarımızla, celestialorb.

cevap

20

Evet, kamera tarafından desteklenen resim boyutlarını elde etmek için gerekli yöntemler var. Desteklenen görüntü boyutlarını kamerayla sağlayan fotoğraf makinesi sınıfının yöntemi getSupportedPictureSizes(); Bu yöntemi kullanarak, desteklenen boyutu kamera ile alabilirsiniz. kod parçacığı şu şekilde görünecektir: -

Camera camera = Camera.open(); 
Parameters params = camera.getParameters(); 
List<Camera.Size> sizes = params.getSupportedPictureSizes(); 

Bunun size yardımcı olacağını umuyoruz.

Teşekkür Nevvab

+0

Kamera kaldırılmış ve Camera2 yerini ama yeni API benzer bir yöntem bulamadık olmuştur – Price

2

Yanıtı buldum, görünüşe göre kendi ekran çözünürlüğüm kamera için desteklenen bir boyut değil. Kameranın sadece 1.6 SDK ile programlama yaparken belirli boyutları destekleyebildiğini bilmiyordum.

Fotoğraf makinesinin desteklenen boyutlarını 1,5/1,6 için almanın bir yolu var mı?

İlgili konular