2013-07-04 10 views
5

Ich entwickle eine Android-App, die ZBar als QR-Code-Bibliothek verwendet, und die Dinge werden süß. Nun aber, ich bin den Aufbau der Schnittstelle für die App, und es erfordert, dass ich zeigen nur einen bestimmten Teil des Futters der Kamera am unteren Rand des Bildschirms, so etwas wie dieses:Zuschneiden der Android-Kamera

enter image description here

Die Kamera Die Ansicht unten sollte in voller Größe angezeigt werden, dh eine beschnittene Ansicht und keine Größe. Wenn Sie jedoch die Breite und Höhe des FrameLayouts festlegen, wird die Größe des FrameLayouts geändert, und das gesamte Bild wird in den kleinen Frame zerlegt.

Gibt es eine Möglichkeit, es zu beschneiden? Ich weiß, dass ich wahrscheinlich ein Overlay über das Originalbild legen könnte, aber wie erzeugt man ein transparentes Quadrat in der Mitte, um anzuzeigen, was ich brauche? Außerdem würde der QR-Reader alles erfassen, was die Kamera aufnimmt, also wenn der Benutzer den QR-Code mitbringt vor der Kamera und es "vom Bildschirm" (von dem Teil, der tatsächlich von der Überlagerung abgedeckt wird) erfasst, wäre es sehr verwirrend.

Also ich denke, was ich sage ist, kann ich nicht eine Überlagerung verwenden, um das Bild zu "beschneiden". Gibt es einen anderen Weg, es zu tun?

+0

Konnten Sie das erreichen? Und wenn ja, wie? Ich versuche genau dasselbe zu tun. – Michael

+0

Ich bedauere zu sagen, dass ich das nicht konnte. Ich habe mich stattdessen mit einem anderen Design begnügt ...: / – Wakka02

Antwort

0

Soweit mein Wissen kann man nicht die Kameraansicht beschneiden, aber was Sie tun können, ist die Größe des Rahmens und dann das Bild zu erfassen.

Noch würde ich vorschlagen, this Post

0

Der erste Gedanke zu beziehen, die in den Sinn kommt in einem FrameLayout Ihre CameraPreview in einer Ansicht zu setzen ist. Fügen Sie dann weitere Ansichten über die CameraPreview Ansicht hinzu, um die Teile auszublenden, die nicht sichtbar sein sollen.

Oder Vielleicht nur eine Ansicht Super-imposing die Kamera-Vorschau-Ansicht mit einem PNG, die alles mit "cropped" Bereich als transparent eingestellt deckt.