1. Nimm jetzt an unserem Uhans - 3. ADVENT - Gewinnspiel teil - Alle Informationen findest Du hier!

SurfacesView über Camera-SurfaceView zeichnen?

Dieses Thema im Forum "Android App Entwicklung" wurde erstellt von Kernle 32DLL, 13.11.2010.

  1. Kernle 32DLL, 13.11.2010 #1
    Kernle 32DLL

    Kernle 32DLL Threadstarter Neuer Benutzer

    Beiträge:
    23
    Erhaltene Danke:
    0
    Registriert seit:
    06.01.2010
    Moin,

    Ich habe seit ein paar Tagen ein kleines Problem: Ich entwickle gerade ein Programm, bei dem über eine SurfaceView Grafiken angezeigt werden. Die SurfaceView ist in einem RelativeLayout eingebettet, da darüber noch per Layout verschiedene View Objekte (u.A. Buttons, etc.) angezeigt werden müssen.

    Jetzt soll das Programm um eine Kamera Integration erweitert werden. Dazu wird eine neue SurfaceView mit dem Camera Objekt verbunden, die dann die Preview Daten anzeigt. Soweit so gut, aber irgendwie schaffe ich es nicht, die Surface View mit der Camera "hinter" der Surface View mit meinen Grafiken anzuzeigen.

    Wenn ich die Grafiken SurfaceView als Child der Camera SurfaceView definiere, wird die Grafiken SurfaceView nicht erstellt. Packe ich die Camera SurfaceView im RelativeLayout einfach vor die Grafiken SurfaceView (was Sinn machen würde), sehe ich nur die Camera SurfaceView, und darüber das Layout für die Buttons. Stelle im Relative Layout eine Reihenfolge a Grafiken SurfaceView; Camera SurfaceView, Button Layout ein, sehe ich zwar Grafiken SurfaceView und Button Layout korrekt, aber ich erhalte als Hintergrund nur ein Schwarzes Bild (was beim verschieben der Grafiken auffällt: Er wird anscheinend auch nicht "gelöscht").

    Daher die Frage, was mache ich falsch? Ich habe auch schon versucht per Callback die aktuelle Preview in eine Bitmap zu verwandeln und im der Grafiken SurfaceView flächendeckend als Hintergrund anzuzeigen, aber das war natürlich viel zu langsam.

    So long,
    Kernle
     
  2. ko5tik, 14.11.2010 #2
    ko5tik

    ko5tik Android-Experte

    Beiträge:
    620
    Erhaltene Danke:
    40
    Registriert seit:
    14.10.2009
    Phone:
    HTC Hero
    Du machst gar nix falsch, es ist einfach nicht unterstützt. Keine Überlappende Surface-Views sind möglich.
     
  3. Kernle 32DLL, 14.11.2010 #3
    Kernle 32DLL

    Kernle 32DLL Threadstarter Neuer Benutzer

    Beiträge:
    23
    Erhaltene Danke:
    0
    Registriert seit:
    06.01.2010
    Uff, und wie löse ich dann mein Problem? :/ Auf eine Camera SurfaceView kann ich ja nichts zeichnen.
     
  4. ko5tik, 14.11.2010 #4
    ko5tik

    ko5tik Android-Experte

    Beiträge:
    620
    Erhaltene Danke:
    40
    Registriert seit:
    14.10.2009
    Phone:
    HTC Hero
    Du kannst darüber eine andere normale Views als Overlays legen
    ( schau mal bei Barcode-Scanner app von ZXing) - echtzeit griegst du nicht
    hin, aber performant genug ist es
     
    Kernle 32DLL bedankt sich.
  5. Kernle 32DLL, 14.11.2010 #5
    Kernle 32DLL

    Kernle 32DLL Threadstarter Neuer Benutzer

    Beiträge:
    23
    Erhaltene Danke:
    0
    Registriert seit:
    06.01.2010
    Jup, habe jetzt meine Grafiken SurfaceView zu einer normalen View umgewandelt und dementsprechend angepasst. Da ich keine hochperformanten Aktionen ausführen muss (ein Redraw passiert nur alle paar Sekunden), reicht das für meine Zwecke.

    Danke für die schnelle Info :thumbup:

    So long,
    Kernle
     
  6. ko5tik, 14.11.2010 #6
    ko5tik

    ko5tik Android-Experte

    Beiträge:
    620
    Erhaltene Danke:
    40
    Registriert seit:
    14.10.2009
    Phone:
    HTC Hero
    Bin bei meinen OCR-Projekt vor 2 Tagen auf gleiche Problem gestoßen (habe jetzt andere Probleme -
    Fehlerrate etwa 8% - muss besser werden)
     

Diese Seite empfehlen