Al momento sto tentando di impostare la mia fotocamera sul mio telefono Motorola Droid per acquisire un'immagine che corrisponda alle dimensioni del mio schermo (854 x 480 pixel), e sto tentando di ottenere tramite il parametri per la fotocamera in quanto tale:Impostazione della dimensione dell'immagine della videocamera in Android
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);
ho la mia attività di implementare il metodo Camera.PictureCallback di onPictureTaken (escluse le chiamate di registro), in modo che quando il metodo viene chiamato takePicture si corre questo metodo:
@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));
}
Per qualche motivo, però, la mia fotocamera scatta foto nel 1280 x 960. Si tratta di una dimensione minima in cui la fotocamera può catturare un'immagine? Dalle chiamate ai registri posso vedere che i parametri della fotocamera sono ancora impostati per avere una dimensione dell'immagine di 854 x 480, ma l'immagine continua a uscire come 1280 x 960. Sto decodificando l'immagine in modo errato, sto impostando i parametri della fotocamera in modo errato o sono Sto facendo qualcos'altro di sbagliato?
Grazie in anticipo per qualsiasi aiuto tu possa dare!
Saluti, celestialorb.
fotocamera è stato deprecato e sostituiti da Camera2 ma non ho trovato un metodo analogo nella nuova API – Price