29 Mayıs 2010, CUMARTESİ
Nasıl bir SurfaceView Android Kamera tarafından kullanılan bir kaplama çizmek için?
SurfaceView
a Camera
önizleme çizen basit bir program var. Ne yapmaya çalışıyorum kullanıyor onPreviewFrame
yöntem, hangi çağrılır her zaman yeni bir çerçeve çizilir içine SurfaceView
, amacıyla yürütmek invalidate
yöntemi bir anlam çağırmak onDraw
yöntem. Aslında onDraw
yöntemi çağrılan, ama orada hiçbir şey (kamera önizleme çizmeye çalışıyorum metni üzerine sanırım) yazdırılıyor.
Bu var SurfaceView
alt sürüm basitleştirmek.:
public class Superficie extends SurfaceView implements SurfaceHolder.Callback {
SurfaceHolder mHolder;
public Camera camera;
Superficie(Context context) {
super(context);
mHolder = getHolder();
mHolder.addCallback(this);
mHolder.setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS);
}
public void surfaceCreated(final SurfaceHolder holder) {
camera = Camera.open();
try {
camera.setPreviewDisplay(holder);
camera.setPreviewCallback(new PreviewCallback() {
public void onPreviewFrame(byte[] data, Camera arg1) {
invalidar();
}
});
} catch (IOException e) {}
}
public void invalidar(){
invalidate();
}
public void surfaceChanged(SurfaceHolder holder, int format, int w, int h) {
Camera.Parameters parameters = camera.getParameters();
parameters.setPreviewSize(w, h);
camera.setParameters(parameters);
camera.startPreview();
}
@Override
public void draw(Canvas canvas) {
super.draw(canvas);
// nothing gets drawn :(
Paint p = new Paint(Color.RED);
canvas.drawText("PREVIEW", canvas.getWidth() / 2,
canvas.getHeight() / 2, p);
}
}
CEVAP
29 Mayıs 2010, CUMARTESİ
SurfaceView
muhtemelen bu konuda View
düzenli gibi çalışmıyor.
Bunun yerine, aşağıdakilerden birini yapın:
- ** 12 içine sok.
FrameLayout
RelativeLayout
düzeninizi de beri dosya XML, bu aletler istifleme izin ver Z ekseni - Hareket çizim mantığı
ayrı bir özel
View
sınıfa - Özel Görünümü bir örneğini ekleyin
düzen XML için sınıf olarak bir dosya
FrameLayout
ya çocukRelativeLayout
ama görünürSurfaceView
sonra
Bu View
Özel Sınıf SurfaceView
üzerinde yüzer gibi görünmesine neden olur.
Kat SurfaceView
bir video oynatmak için kullanılan yukarıda panelleri pop-up See here for a sample project.
Bunu Paylaş:
Anahtar-çift ssh-agent tarafından kull...
Nasıl kamera ışığını açmak programlı o...
Nasıl android bir çizgi çizmek için...
Nasıl filtre uygulama tarafından logca...
Nasıl vurgulama gibi açıklama yapmak, ...