Note to others: the solution was to use a textureview (android 14+)

On Friday, 25 April 2014 17:57:11 UTC+1, Sam Duke wrote:
>
> Im trying to show a camera preview to the user of arbitrary size. What I'd 
> like to do is pick an appropriate camera size based on the size of the 
> preview, then effectively do a center-crop of the camera output into this 
> (ie maintain aspect-ratio of the camera preview). As far as i can tell, the 
> camera by default stretches the camera onto the surface view so i need to 
> make the surface view have the same aspect as the chosen camera size and 
> then use another view to crop this.
>
> I've had some success by adapting the code from the (rather complicated) 
> android Camera app. (from here) 
> https://android.googlesource.com/platform/packages/apps/Camera.git/+/master 
> I noticed that the app uses two modes of operation depending on whether 
> surface textures are available. I didn't want to get into manually drawing 
> onto canvases as that seems overkill for this so I essentially tried to 
> take the surfaceholder implementation and flip the equality test in 
> "PreviewFrameLayout" like so:
>
>     if (longSide < shortSide * mAspectRatio)
>
> Right now i have the correct behaviour in a small preview, but if i try to 
> make it the start of the screen the application seems to just quit (i think 
> drawing off the screen causes an issue).
>
> SO I'm basically back at square 1 and I've been working at this for so 
> long i figure i must just be doing something wrong. can anyone tell me what 
> im doing wrong or if this is even possible? It feels like there is some 
> fundamental limitation preventing me from having one view crop another...
>

-- 
You received this message because you are subscribed to the Google
Groups "Android Developers" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
"Android Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to