2016-03-31 37 views
0

Kamera önizleme için kullanılan bir yüzey görünümünde bazı 3B dönüştürme (setRotationX gibi) kullanmayı denedim, ancak yalnızca çerçeve değişiklikleri ve içeriği yok.3D dönüşüm?

cevap

1

Yüzey Görünümü, Yüzey ve Görünüm olmak üzere iki bölümden oluşur. Yüzey bağımsız olarak oluşturulmuş ve birleştirilmiş olan ayrı bir tabakadır. Görünüm kısmı, varsayılan olarak, Görünüm katmanında bir "delik" yaratan saydam bir dikdörtgendir.

Sözünü ettiğiniz dönüşüm (setRotationX()) bir Bakış yöntemidir, ancak kamera önizlemesi Yüzeye gönderilir. Bu yüzden çerçeve değişti ancak önizleme kendiliğinden olmadı.

Önizlemenizi, Camera.setPreviewTexture() yöntemini kullanarak, rasgele bir dönüştürme matrisi (setTransform()) alabilen bir TextureView adresine gönderebilirsiniz. Veya SurfaceTexture aracılığıyla SurfaceView'ın Yüzeyinde oluşturulabilen bir OpenGL ES dokusuna, istediğiniz GLES dönüşümünü kullanarak gönderebilirsiniz. İkincisinin bir örneği için, bkz. "Kameradan Yapılandırma" Etkinliği, Grafika's.