Dieses Mal zeige ich Ihnen, wie Sie mit JS die Vorschau des aufgenommenen IOS-Fotos um 90 Grad drehen. Welche Vorsichtsmaßnahmen gibt es, um die Vorschau des aufgenommenen IOS-Fotos um 90 Grad zu drehen? Das Folgende ist ein praktischer Fall, schauen wir uns das an.
Um dieses Problem zu lösen, müssen Sie eine JS-Bibliothek eines Drittanbieters einführen: exif.js Download-Adresse: https://github.com/exif-js/exif-js Über exif.js können wir es bekommen die Metainformationen des Bildes, einschließlich der Richtung, in der das Foto aufgenommen wurde.
Das von exif.js angegebene Fotorichtungsattribut wird in IOS verwendet, um die Richtung des fotografierten Bildes über exif.js zu ermitteln. Der zurückgegebene Wert ist 6, was beim ganz linken F im obigen Bild der Fall ist . Hier liegt unser Fehler. Daher führen wir eine entsprechende Verarbeitung durch, indem wir den Richtungswert beurteilen. Wenn der Wert 6 ist, führen wir eine Rotationskorrektur am Bild durch.
Der spezifische Code lautet wie folgt://获取图片方向 function getPhotoOrientation(img) { var orient; EXIF.getData(img, function () { orient = EXIF.getTag(this, 'Orientation'); }); return orient; }
//图片压缩 function compress(img, width, height, ratio) { var canvas, ctx, img64, orient; //获取图片方向 orient = getPhotoOrientation(img); canvas = document.createElement('canvas'); canvas.width = width; canvas.height = height; ctx = canvas.getContext("2d"); //如果图片方向等于6 ,则旋转矫正,反之则不做处理 if (orient == 6) { ctx.save(); ctx.translate(width / 2, height / 2); ctx.rotate(90 * Math.PI / 180); ctx.drawImage(img, 0 - height / 2, 0 - width / 2, height, width); ctx.restore(); } else { ctx.drawImage(img, 0, 0, width, height); } img64 = canvas.toDataURL("image/jpeg", ratio); return img64; }
Das obige ist der detaillierte Inhalt vonSo verwenden Sie JS, um die Vorschau eines IOS-Fotos um 90 Grad zu drehen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!