Scale et crop d'une preview Camera
Hello,
Je cherche à affecter la preview d'une front cam sur une SurfaceView. J'arrive à afficher et à enregistrer le flux, en revanche ce que je ne sais pas faire, c'est éviter la déformation de la vidéo.
Sur mon Galaxy, ma SurfaceView prends tout l'écran (800x480), mais la front cam n'enregistre qu'en 640x480... Donc mon image est déformé.
Ce que je cherche à faire, c'est étirer la vidéo pour faire un 800x600 (même ratio que la résolution de la caméra), puis l'appliquer à ma SurfaceView avec un léger décalage en hauteur de 60px (pour recentrer la vue)
J'ai bien tenté ceci
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
|
@Override
public void surfaceCreated(SurfaceHolder holder) {
try{
setCameraDisplayOrientation(recActivity, recActivity.cameraId, mCamera);
Camera.Parameters parameters= mCamera.getParameters();
parameters.setPreviewSize(800, 600);
mCamera.setParameters(parameters);
mCamera.setPreviewDisplay(holder);
mCamera.startPreview();
}catch (IOException e) {
Log.d("CameraPreview","Error setting camera preview: " + e.getMessage());
}
} |
Mais à priori, le système n'aime pas :) L'apli crash...
Comment feriez vous cela?
Merci de votre aide