Sto scrivendo una piccola app per Android in cui un utente può inserire un'immagine nell'anteprima live della telecamera e scattare una foto di questo. L'app combina quindi le due immagini in modo appropriato: tutto funziona perfettamente.In che modo Android gestisce le differenze tra dimensioni/rapporto di anteprima e dimensioni effettive di SufaceView?
Capisco che è possibile ottenere/impostare il PreviewSize utilizzando Camera.getParameters(), presumo che questo è correlato alla dimensione del "camera feed" in tempo reale.
Tuttavia, la dimensione del mio SurfaceView in cui viene visualizzata l'anteprima della fotocamera è diversa dalle PreviewSize riportate (e utilizzate). Ad esempio, nell'emulatore il mio SurfaceView disponibile è 360x215, mentre PreviewSize è 320x240. Tuttavia, l'intero SurfaceView è riempito con l'anteprima.
Ma l'immagine generata alla fine è (anche?) 320x240. In che modo Android compensa queste differenze di dimensioni e proporzioni? L'immagine è troncata?
O sto semplicemente fraintendendo il tema di PreviewSize - questo è correlato alla dimensione delle immagini generate o è correlato alla "anteprima in tempo reale" proiettata su SurfaceView? Esistono esempi di fotocamere non banali che si occupano di questo?
Ho bisogno di sapere come avviene la trasformazione, eventualmente, copiare/ridimensionare correttamente l'immagine nella foto, quindi queste domande.
Si consiglia di dare un'occhiata alla mia risposta a me stesso per una domanda simile: http://stackoverflow.com/a/18159351/994834 – goto10