国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

Maison interface Web js tutoriel Comment utiliser JS pour faire pivoter l'aper?u de la photo IOS prise de 90 degrés

Comment utiliser JS pour faire pivoter l'aper?u de la photo IOS prise de 90 degrés

Apr 17, 2018 pm 04:43 PM
javascript comment Tourner

Cette fois, je vais vous montrer comment utiliser JS pour faire pivoter l'aper?u de la photo IOS prise de 90 degrés. Quelles sont les précautions pour faire pivoter l'aper?u de la photo IOS prise de 90 degrés. en utilisant JS Ce qui suit est un cas pratique, jetons un coup d'?il.

Pour résoudre ce problème, vous devez introduire une bibliothèque JS tierce?: exif.js Adresse de téléchargement?: https://github.com/exif-js/exif-js Grace à exif.js, nous pouvons obtenir les méta-informations de l'image, qui incluent la direction dans laquelle la photo a été prise.

L'attribut photo direction donné par exif.js est utilisé dans IOS pour obtenir la direction de l'image photographiée via exif.js. La valeur renvoyée est 6, ce qui est le cas du F le plus à gauche dans l'image ci-dessus. . C'est là que réside notre bug. Par conséquent, nous effectuons le traitement correspondant en jugeant la valeur de la direction. Si la valeur est 6, nous effectuons une correction de rotation sur l'image.

Le code spécifique est le suivant :

//獲取圖片方向
function?getPhotoOrientation(img)?{
???var?orient;
???EXIF.getData(img,?function?()?{
??????orient?=?EXIF.getTag(this,?'Orientation');
???});
???return?orient;
}

Ensuite, nous modifions la fonction de compression dans l'article précédent comme suit?:

//圖片壓縮
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?,則旋轉(zhuǎn)矯正,反之則不做處理
???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;
}

Je pense que vous ma?trisez la méthode après avoir lu le cas dans cet article. Pour des informations plus intéressantes, veuillez prêter attention aux autres articles connexes. sur le site PHP chinois !

Lecture recommandée?:



Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefa?on, veuillez contacter admin@php.cn

Outils d'IA chauds

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

Video Face Swap

Video Face Swap

échangez les visages dans n'importe quelle vidéo sans effort grace à notre outil d'échange de visage AI entièrement gratuit?!

Article chaud

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds

Tutoriel PHP
1502
276
Comment configurer la fonction de démarrage du clavier sur une carte mère GIGABYTE (activer le mode de démarrage du clavier sur la carte mère GIGABYTE) Comment configurer la fonction de démarrage du clavier sur une carte mère GIGABYTE (activer le mode de démarrage du clavier sur la carte mère GIGABYTE) Dec 31, 2023 pm 05:15 PM

Comment configurer le démarrage du clavier sur la carte mère de Gigabyte Tout d'abord, s'il doit prendre en charge le démarrage du clavier, il doit s'agir d'un clavier PS2 ! ! Les étapes de configuration sont les suivantes : étape 1 : appuyez sur Suppr ou F2 pour entrer dans le BIOS après le démarrage, et entrez dans le mode avancé (avancé) du BIOS. Les cartes mères ordinaires entrent dans le mode EZ (facile) de la carte mère par défaut. pour appuyer sur F7 pour passer au mode avancé. Les cartes mères de la série ROG entrent dans le BIOS par défaut (nous utilisons le chinois simplifié pour démontrer) étape 2 : Sélectionnez - [Avancé] - [Gestion avancée de l'alimentation (APM)] étape 3 : Recherchez l'option [Réveil par le clavier PS2] étape 4?: Cette option est désactivée par défaut. Après avoir tiré vers le bas, vous pouvez voir trois options de configuration différentes, à savoir appuyer sur [barre d'espace] pour allumer l'ordinateur, appuyer sur groupe.

WebSocket et JavaScript : technologies clés pour mettre en ?uvre des systèmes de surveillance en temps réel WebSocket et JavaScript : technologies clés pour mettre en ?uvre des systèmes de surveillance en temps réel Dec 17, 2023 pm 05:30 PM

WebSocket et JavaScript : technologies clés pour réaliser des systèmes de surveillance en temps réel Introduction : Avec le développement rapide de la technologie Internet, les systèmes de surveillance en temps réel ont été largement utilisés dans divers domaines. L'une des technologies clés pour réaliser une surveillance en temps réel est la combinaison de WebSocket et de JavaScript. Cet article présentera l'application de WebSocket et JavaScript dans les systèmes de surveillance en temps réel, donnera des exemples de code et expliquera leurs principes de mise en ?uvre en détail. 1. Technologie WebSocket

Comment mettre en ?uvre un système de reconnaissance vocale en ligne à l'aide de WebSocket et JavaScript Comment mettre en ?uvre un système de reconnaissance vocale en ligne à l'aide de WebSocket et JavaScript Dec 17, 2023 pm 02:54 PM

Comment utiliser WebSocket et JavaScript pour mettre en ?uvre un système de reconnaissance vocale en ligne Introduction : Avec le développement continu de la technologie, la technologie de reconnaissance vocale est devenue une partie importante du domaine de l'intelligence artificielle. Le système de reconnaissance vocale en ligne basé sur WebSocket et JavaScript présente les caractéristiques d'une faible latence, d'un temps réel et d'une multiplateforme, et est devenu une solution largement utilisée. Cet article explique comment utiliser WebSocket et JavaScript pour implémenter un système de reconnaissance vocale en ligne.

JavaScript et WebSocket?: créer un système efficace de prévisions météorologiques en temps réel JavaScript et WebSocket?: créer un système efficace de prévisions météorologiques en temps réel Dec 17, 2023 pm 05:13 PM

JavaScript et WebSocket : Construire un système efficace de prévisions météorologiques en temps réel Introduction : Aujourd'hui, la précision des prévisions météorologiques revêt une grande importance pour la vie quotidienne et la prise de décision. à mesure que la technologie évolue, nous pouvons fournir des prévisions météorologiques plus précises et plus fiables en obtenant des données météorologiques en temps réel. Dans cet article, nous apprendrons comment utiliser la technologie JavaScript et WebSocket pour créer un système efficace de prévisions météorologiques en temps réel. Cet article démontrera le processus de mise en ?uvre à travers des exemples de code spécifiques. Nous

Tutoriel JavaScript simple?:?Comment obtenir le code d'état HTTP Tutoriel JavaScript simple?:?Comment obtenir le code d'état HTTP Jan 05, 2024 pm 06:08 PM

Tutoriel JavaScript : Comment obtenir le code d'état HTTP, des exemples de code spécifiques sont requis Préface : Dans le développement Web, l'interaction des données avec le serveur est souvent impliquée. Lors de la communication avec le serveur, nous devons souvent obtenir le code d'état HTTP renvoyé pour déterminer si l'opération a réussi et effectuer le traitement correspondant en fonction de différents codes d'état. Cet article vous apprendra comment utiliser JavaScript pour obtenir des codes d'état HTTP et fournira quelques exemples de codes pratiques. Utilisation de XMLHttpRequest

Comment distinguer les vraies et fausses bo?tes à chaussures de chaussures Nike (ma?trisez une astuce pour les identifier facilement) Comment distinguer les vraies et fausses bo?tes à chaussures de chaussures Nike (ma?trisez une astuce pour les identifier facilement) Sep 02, 2024 pm 04:11 PM

En tant que marque de sport de renommée mondiale, les chaussures Nike ont attiré beaucoup d'attention. Cependant, il existe également un grand nombre de produits contrefaits sur le marché, notamment de fausses bo?tes à chaussures Nike. Distinguer les véritables bo?tes à chaussures des fausses est crucial pour protéger les droits et les intérêts des consommateurs. Cet article vous fournira quelques méthodes simples et efficaces pour vous aider à faire la distinction entre les vraies et les fausses bo?tes à chaussures. 1 : Titre de l'emballage extérieur En observant l'emballage extérieur des bo?tes à chaussures Nike, vous pouvez découvrir de nombreuses différences subtiles. Les véritables bo?tes à chaussures Nike contiennent généralement des matériaux en papier de haute qualité, doux au toucher et sans odeur acre évidente. Les polices et les logos des bo?tes à chaussures authentiques sont généralement clairs et détaillés, et il n'y a pas de flou ni d'incohérence de couleur. 2?:?titre de marquage à chaud du logo. Le logo sur les bo?tes à chaussures Nike est généralement imprimé à chaud. La partie de marquage à chaud sur la bo?te à chaussures authentique s'affichera.

Comment mettre à niveau le port réseau 100M de l'ordinateur vers un port réseau Gigabit ? Comment mettre à niveau le port réseau 100M de l'ordinateur vers un port réseau Gigabit ? Dec 31, 2023 pm 05:32 PM

Comment convertir le port réseau 100 M d'un ordinateur en port réseau Gigabit Pour mettre à niveau le port réseau 100 M d'un ordinateur en port réseau Gigabit, vous devez généralement suivre les étapes suivantes : 1. Confirmez si la carte réseau prend en charge la vitesse réseau Gigabit : Tout d'abord, vous devez confirmer que l'ordinateur si la carte réseau prend en charge Gigabit Ethernet, sinon, il ne sera pas possible d'accélérer le port réseau 100M vers Gigabit. 2. Remplacez le cable réseau : pour atteindre une vitesse de réseau Gigabit, vous devez utiliser un cable réseau Cat5e ou de spécification supérieure, car le cable réseau Cat5e peut prendre en charge Gigabit Ethernet, et pour Ethernet 100 Mbits, il vous suffit d'utiliser un cable réseau Cat5. 3. Modifiez le pilote de la carte réseau : Si votre carte réseau prend en charge Gigabit Ethernet, vous devez mettre à jour le pilote de la carte réseau. Vous pouvez vous rendre sur le site officiel du fabricant de la carte réseau pour télécharger et installer la dernière version.

Comment obtenir facilement le code d'état HTTP en JavaScript Comment obtenir facilement le code d'état HTTP en JavaScript Jan 05, 2024 pm 01:37 PM

Introduction à la méthode d'obtention du code d'état HTTP en JavaScript : Dans le développement front-end, nous devons souvent gérer l'interaction avec l'interface back-end, et le code d'état HTTP en est une partie très importante. Comprendre et obtenir les codes d'état HTTP nous aide à mieux gérer les données renvoyées par l'interface. Cet article explique comment utiliser JavaScript pour obtenir des codes d'état HTTP et fournit des exemples de code spécifiques. 1. Qu'est-ce que le code d'état HTTP ? Le code d'état HTTP signifie que lorsque le navigateur lance une requête au serveur, le service

See all articles