Я написал этот код с помощью некоторых источников на stackoverflow о том, как повернуть изображение с холстом. Я пробовал использовать несколько браузеров, перечисленных ниже с результатом, но только некоторые из них не поворачивают изображение.
Android:
- chrome, не работает
- firefox, рабочий
- опера, рабочий
Ма c ОС:
- chrome, не работает
- firefox, рабочий
- сафари, рабочий
Ios:
- chrome, не работает
- firefox, не работает
safari, не работает
let canvas = document.createElement('canvas');
let context = canvas.getContext('2d');
let height;
let width;
switch (orientation) {
case 6:
case 8:
context.canvas.height = img.width;
context.canvas.width = img.height;
break;
case 1:
case 3:
context.canvas.width = img.width;
context.canvas.height = img.height;
break;
}
height = context.canvas.height / 2;
width = context.canvas.width / 2;
if(orientation !== 1) {
context.translate(width, height);
}
switch (orientation) {
case 3:
context.rotate(Math.PI);
context.translate(-width, -height);
break;
case 6:
context.rotate(Math.PI/2);
context.translate(-height, -width);
break;
case 8:
context.rotate(Math.PI*1.5);
context.translate(-height, -width);
break;
}
context.drawImage(img, 0,0);
if(extension === 'image/jpeg') {
imageData = canvas.toDataURL('image/jpeg', 1);
} else if(extension === 'image/png'){
imageData = canvas.toDataURL('image/png', 1)
}
есть ли способ, которым я могу заставить его работать, как задумано, по крайней мере chrome на все?