Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
TextureView sınıfı, bir videonun veya OpenGL içerik akışının görüntülenmesini sağlamak için donanım hızlandırmalı 2B işleme kullanan bir görünümdür. Örneğin, aşağıdaki ekran görüntüsü cihazın kamerasından canlı akış görüntülemeyi gösterir TextureView :
SurfaceView OpenGL veya video içeriğini görüntülemek için de kullanılabilen sınıfından farklı olarak, TextureView ayrı bir pencerede işlenmez.
Bu nedenle, TextureView diğer görünümler gibi görünüm dönüştürmelerini destekleyebiliyor. Örneğin, yalnızca özelliğini, özelliğini ayarlayarak Rotation saydamlığını vb. ayarlayarak Alpha bir TextureView döndürme gerçekleştirilebilir.
Bu nedenle, artık aşağıdaki kodda TextureView gösterildiği gibi kameradan canlı akış görüntüleme ve dönüştürme gibi işlemler yapabiliriz:
public class TextureViewActivity : Activity,
TextureView.ISurfaceTextureListener
{
Camera _camera;
TextureView _textureView;
protected override void OnCreate (Bundle bundle)
{
base.OnCreate (bundle);
_textureView = new TextureView (this);
_textureView.SurfaceTextureListener = this;
SetContentView (_textureView);
}
public void OnSurfaceTextureAvailable (
Android.Graphics.SurfaceTexture surface,
int width, int height)
{
_camera = Camera.Open ();
var previewSize = _camera.GetParameters ().PreviewSize;
_textureView.LayoutParameters =
new FrameLayout.LayoutParams (previewSize.Width,
previewSize.Height, (int)GravityFlags.Center);
try {
_camera.SetPreviewTexture (surface);
_camera.StartPreview ();
} catch (Java.IO.IOException ex) {
Console.WriteLine (ex.Message);
}
// this is the sort of thing TextureView enables
_textureView.Rotation = 45.0f;
_textureView.Alpha = 0.5f;
}
…
}
Yukarıdaki kod Activity'in yönteminde bir TextureView örnek oluşturur ve Activity öğesini 's SurfaceTextureListenerolarak TextureViewayarlar.OnCreate olmak SurfaceTextureListeneriçin, Activity arabirimini TextureView.ISurfaceTextureListener uygular. sistem, kullanıma hazır olduğunda SurfaceTexture yöntemini çağırırOnSurfaceTextAvailable. Bu yöntemde geçirileni SurfaceTexture alıp kameranın önizleme dokusuna ayarlayacağız. Ardından, yukarıdaki örnekte olduğu gibi ve Alphaayarını yapmak Rotation gibi normal görünüm tabanlı işlemleri gerçekleştirmekte serbestiz. Bir cihazda çalışan sonuçta elde edilen uygulama aşağıda gösterilmiştir:
kullanmak TextureViewiçin, donanım hızlandırması etkinleştirilmelidir ve api Düzeyi 14 itibarıyla varsayılan olarak bu değer olacaktır. Ayrıca, bu örnekte kamera kullanıldığı için hem izin hem android.hardware.camera de android.permission.CAMERA özellik AndroidManifest.xml ayarlanmalıdır.

