0
Ce qui suit est le dispatchDraw redéfini dans une sous-classe de SurfaceView. Je suis en train de changer les paramètres de la surface (obtenir seulement une sous-section de l'aperçu vidéo.en utilisant dispatchDraw (Canvas) pour obtenir la sous-section de l'aperçu vidéo
@Override
public void dispatchDraw (Canvas canvas) {
Log.d(TAG,"**************inside dispatchDraw************");
int VIEW_WIDTH = canvas.getWidth();
int VIEW_HEIGHT = canvas.getHeight();
Log.d(TAG,"**************inside dispatchDraw************" + Integer.toString(VIEW_WIDTH) + " ," + Integer.toString(VIEW_HEIGHT));
int newWidth = 400;
int newHeight = 240;
float scaleWidth = ((float) newWidth)/VIEW_WIDTH;
float scaleHeight = ((float) newHeight)/VIEW_HEIGHT;
Matrix matrix = new Matrix();
matrix.postScale(scaleWidth, scaleHeight);
canvas.setMatrix(matrix);
super.dispatchDraw(canvas);
Log.d(TAG,"**************inside dispatchDraw-after super************");
}
Pourquoi le code ci-dessus ne modifie les dimensions du SurfaceView du tout
?
merci! Mais si elle ne pas utiliser le canevas, alors qu'est-ce que le paramètre dispatchDraw reportez-vous à ? SurfaceView tire dans la Surface? Comment puis-je obtenir une sous-section de l'aperçu? Qu'est-ce que je dois modifier? – Namratha