Ich baue eine Kamera-App ähnlich Barcode-Scanner im Bild gezeigt. Ich muss beide Camera
und API verwenden, um android API> = 19.Android Crop-Kamera Bild
zu unterstützen Die Hauptidee ist, Kameravorschau auf dem ganzen Schirm zu haben, aber nur Teil zu speichern, der nicht verdunkelt wird (oder Aufnahme des Bereichs, dass ist nicht verdunkelt). Ich habe bereits einige Nachforschungen angestellt und herausgefunden, dass es unmöglich ist, nur einen Teil des Bildes durch Camera
und APIs zu machen (aber ich bin mir nicht 100% sicher). Also denke ich, dass ich einige Manipulationen über das Byte-Array machen muss (komprimiert in JPEG), das ich als Ergebnis der Kameraerfassung erhalte.
Ich versuchte BitmapRegionDecoder auf diese Weise zu verwenden:
BitmapRegionDecoder decoder = BitmapRegionDecoder.newInstance(bytes, 0, bytes.length, false);
Bitmap bitmap = decoder.decodeRegion(new Rect(500, 500, 1500, 1500), null);
bitmap.compress(Bitmap.CompressFormat.JPEG, 100, output);
Wo bytes
JPEG-komprimierte Ergebnis der Kameraerfassung. Aber dieser Ansatz ändert die Ausrichtung des Bildes und beschneidet keine Region, die durch Rect
definiert ist (schneidet tatsächlich einen anderen Teil des Bildes).
Ich würde mich über Vorschläge und Hinweise freuen, wie man das gewünschte Verhalten erreicht.
Haben Sie das zur Arbeit gebracht? – Carpetfizz