Standardmäßig nimmt die react-native-camera
Fotos im Standard-Seitenverhältnis des Telefons auf und gibt sie in Base64 png aus, wenn das Ziel Camera.constants.CaptureTarget.memory
festgelegt ist.Aufnehmen eines quadratischen Fotos mit der nativen Kamera
Ich bin auf der Suche nach einer Möglichkeit, Quadrat Fotos zu erstellen - entweder direkt mit der Kamera oder durch Umwandlung der erfassten . Ich bin mir nicht sicher, ob sowas mit React Native möglich ist, oder ich sollte stattdessen komplett auf nativen Code zurückgreifen.
Die aspect
Requisite ändert nur, wie das Kamerabild im Sucher angezeigt wird.
Hier ist mein Code:
<Camera
ref={(cam) => {
this.cam = cam;
}}
captureAudio={false}
captureTarget={Camera.constants.CaptureTarget.memory}
aspect={Camera.constants.Aspect.fill}>
</Camera>;
async takePicture() {
var imagedata;
try {
var imagedata = await this.cam.capture();// Base64 png, not square
} catch (err) {
throw err;
}
return imagedata;
}
prüfen diese integrierte Dienstprogramm - [ImageEditor.cropImage] (https://facebook.github.io/react-native/docs/imageeditor.html), habe ich es nicht benutzt, aber es sieht, dass Sie können damit das Bild auf das Quadrat zuschneiden. –
Es sieht so aus, als ob der ImageEditor nur mit Bildern im ImageStore funktioniert. Für ein Base64-Image, das an den URI-Parameter übergeben wird, wird 'Kein geeigneter Image-URL-Loader gefunden für (Null)' -Fehler ausgelöst. –
@PeterGerhat: Haben https://github.com/ivpusic/react-native-image-crop-picker geschaut? –