web-dev-qa-db-fra.com

Le dessin de la photo du fichier au canevas pivote en Chrome basé sur EXIF

Chrome fait pivoter automatiquement toute image d'une entrée de fichier dessinée sur un canevas en fonction de ses données exif. C'est génial, mais iOS ne fait pas la même chose. Existe-t-il un moyen d'éviter ce comportement afin que je puisse simplement transformer l'image moi-même. Avec un correctif que j'ai écrit, cela fonctionne sous iOS, la désactivation de ce correctif fonctionne sur Android ... préfère désactiver/activer puis jouer au jeu d'identification du navigateur.

J'ai essayé de définir le style de l'image sur l'orientation de l'image: aucun; .... mais cela n'a rien fait. Toujours tourné.

Edit: J'ai détecté cela en regardant si le 'imageOrientation' sur l'objet de style était indéfini ou une chaîne vide sur une balise img nouvellement créée. Peut-être pas un test parfait, mais cela a fonctionné pour mes situations que j'ai testées. Je ne sais pas à quel point il est à l'épreuve du temps.

3
Chase R Lewis

Définir le CSS sur l'élément canvas par opposition à img résoudra ce problème si vous dessinez sur un canevas qui fait partie du DOM.

canvas {
    image-orientation: none;
}

Au moment d'écrire, l'élément doit être dans le DOM car il utilise le style calculé. Cela n'existe que dans un contexte DOM. Vous pouvez en savoir plus dans le numéro sur le traqueur Chromium.

https://bugs.chromium.org/p/chromium/issues/detail?id=15875

0
Derek H

J'ai pu utiliser ce test pour différencier les navigateurs:

if (CSS.supports("image-orientation", "from-image")) {
    ...
}
0
matt burns