


JS et Canvas implémentent des fonctions de prévisualisation, de compression et de téléchargement d'images
Cet article présente principalement JS et Canvas pour implémenter la fonction de prévisualisation, de compression et de téléchargement de l'image. Il y a environ deux étapes pour implémenter cette fonction. La première étape consiste pour l'utilisateur à sélectionner l'image qui doit être téléchargée. L'étape consiste à obtenir la ressource image, à compresser l'aperçu et à la télécharger Plus précisément Veuillez vous référer à cet article pour implémenter le code
Jetons d'abord un coup d'œil aux rendus pour calmer la surprise
Étape 1 : L'utilisateur sélectionne l'image à télécharger
<input type="file" accept="image/*" type="file"" name="imageFile" onchange="upload()">
Une fois l'image sélectionnée, la fonction de téléchargement sera déclenchée. Dans cette fonction, nous devons obtenir. la ressource de l'image, compressez-la et dessinez-la à l'aide de canevas. Si nous devons la télécharger sur le serveur, nous pouvons également utiliser ajax ou télécharger par d'autres méthodes.
Étape 2 : Obtenez l'aperçu compressé de la ressource image et téléchargez-la
function upload() { let file = document.querySelector('input[type=file]').files[0] // 获取选择的文件,这里是图片类型 let reader = new FileReader() reader.readAsDataURL(file) //读取文件并将文件以URL的形式保存在resulr属性中 base64格式 reader.onload = function(e) { // 文件读取完成时触发 let result = e.target.result // base64格式图片地址 var image = new Image() image.src = result // 设置image的地址为base64的地址 image.onload = function(){ var canvas = document.querySelector("#canvas"); var context = canvas.getContext("2d"); canvas.width = image.width; // 设置canvas的画布宽度为图片宽度 canvas.height = image.height; context.drawImage(image, 0, 0, image.width, image.height) // 在canvas上绘制图片 let dataUrl = canvas.toDataURL('image/jpeg', 0.92) // 0.92为压缩比,可根据需要设置,设置过小会影响图片质量 // dataUrl 为压缩后的图片资源,可将其上传到服务器 } } }
Comparons maintenant si l'image a été compressée avec succès :
Taille de l'image originale :
Le taux de compression est fixé à 0,92 :
Le taux de compression est fixé à 0,52
À première vue, pensez-vous qu'il soit étrange que l'image soit plus grande que l'image originale lorsque le taux de zoom est réglé sur 0,92 ? En fait, une fois l'image codée en base64, elle deviendra plus grande que l'image originale. Pour des raisons spécifiques, vous pouvez vérifier le principe d'encodage en base64. Il semble que nous ayons réussi à compresser l'image !
Remarque : Canvas n'est pas pris en charge sous IE9 ; essayez de ne pas utiliser base64 pour les grandes images, car cela affecterait la vitesse de réponse.
Ce qui précède est ce que j'ai compilé pour vous. J'espère que cela vous sera utile à l'avenir.
Articles associés :
Implémentation JavaScript étape par étape d'une expression régulière de date de naissance
Exemple d'utilisation de la liste déroulante selectpicker dans bootstrap
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!

Outils d'IA chauds

Undress AI Tool
Images de déshabillage gratuites

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

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

Clothoff.io
Dissolvant de vêtements AI

Video Face Swap
Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

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

J'ai découvert que le package compressé téléchargé à partir d'un certain site Web de téléchargement sera plus volumineux que le package compressé d'origine après décompression. La différence est de plusieurs dizaines de Ko et de dizaines de Mo. S'il est téléchargé sur un disque cloud ou un espace payant, cela n'a pas d'importance. si le fichier est petit, s'il y a beaucoup de fichiers, le coût de stockage sera considérablement augmenté. J'ai fait quelques recherches à ce sujet et je peux en tirer des leçons si nécessaire. Niveau de compression : compression 9 extrême Taille du dictionnaire : 256 ou 384, plus le dictionnaire est compressé, plus il est lent. La différence de taux de compression est plus grande avant 256 Mo, et il n'y a aucune différence de taux de compression après 384 Mo. Taille du mot : maximum 273. Paramètres : f=BCJ2, le taux de compression des paramètres de test et d'ajout sera plus élevé

Les employés de bureau utilisent très fréquemment le logiciel wps au travail. Parfois, ils saisissent plusieurs fichiers par jour, puis les envoient au responsable ou à un emplacement désigné. Alors, comment le logiciel wps compresse-t-il un dossier et le conditionne-t-il pour l'envoi ? . Cette étape de l'opération. Tout d’abord, organisez les fichiers et dossiers que vous souhaitez envoyer dans le même dossier. Si vous avez beaucoup de fichiers, c'est une bonne idée de nommer chaque fichier afin qu'il soit plus facile à identifier lors de l'envoi. Deuxième étape, cliquez cette fois sur ce gros dossier, puis faites un clic droit. Sélectionnez "Ajouter aux archives". Étape 3 : À ce stade, le logiciel nous aidera automatiquement à empaqueter nos fichiers. Sélectionnez « Compresser vers XX.zip ». Ce zip est le format d'emballage, puis cliquez sur Compresser maintenant.

Explorez le framework Canvas : Pour comprendre quels sont les frameworks Canvas couramment utilisés, des exemples de code spécifiques sont nécessaires. Introduction : Canvas est une API de dessin fournie en HTML5, grâce à laquelle nous pouvons obtenir des graphiques et des effets d'animation riches. Afin d'améliorer l'efficacité et la commodité du dessin, de nombreux développeurs ont développé différents frameworks Canvas. Cet article présentera certains frameworks Canvas couramment utilisés et fournira des exemples de code spécifiques pour aider les lecteurs à mieux comprendre comment utiliser ces frameworks. 1.Cadre EaselJSEa

Comprendre la puissance et l'application du canevas dans le développement de jeux Présentation : Avec le développement rapide de la technologie Internet, les jeux Web deviennent de plus en plus populaires parmi les joueurs. En tant qu'élément important du développement de jeux Web, la technologie Canvas a progressivement émergé dans le développement de jeux, démontrant sa puissance et ses applications puissantes. Cet article présentera le potentiel du canevas dans le développement de jeux et démontrera son application à travers des exemples de code spécifiques. 1. Introduction à la technologie Canvas Canvas est un nouvel élément HTML5 qui nous permet d'utiliser

WinRAR est un puissant outil de gestion de fichiers compressés qui offre des fonctionnalités riches et une interface facile à utiliser. La version WinRAR 64 bits est spécialement optimisée pour les systèmes d'exploitation 64 bits et peut mieux utiliser les ressources et les performances du système. Ensuite, laissez l'éditeur vous présenter Winrar 64 bits et vous expliquer comment décompresser Winrar ! 1. Qu'est-ce que le logiciel Winrar 64 bits ? WinRAR est un puissant gestionnaire de packages compressés. Ce logiciel peut être utilisé pour sauvegarder vos données, réduire la taille des pièces jointes aux e-mails, décompresser les fichiers RAR, ZIP et autres téléchargés sur Internet et créer de nouveaux fichiers aux formats RAR et ZIP. La dernière version de WINRAR est Wi

Le packaging et la compression sont des opérations couramment utilisées sous Linux, mais de nombreux utilisateurs ont tendance à confondre les deux concepts. Cet article abordera en détail les différences entre le packaging et la compression dans les systèmes Linux et utilisera des exemples de code spécifiques pour aider les lecteurs à mieux comprendre. Tout d’abord, nous devons clarifier la différence entre emballage et compression. Le packaging est la combinaison de plusieurs fichiers ou répertoires en un seul fichier, souvent utilisé pour organiser, archiver ou transférer des fichiers. La compression consiste à compresser un ou plusieurs fichiers via un algorithme pour réduire la taille du fichier, économiser de l'espace de stockage ou accélérer la transmission.

Comment améliorer l'effet d'apprentissage des compétences en dessin sur toile ? Dans le développement Web moderne, Canvas est devenu une technologie de dessin très importante. Grâce à Canvas, nous pouvons utiliser JavaScript et l'API fournie par HTML5 pour obtenir une variété d'effets graphiques et d'animation. Cependant, apprendre les techniques de dessin sur toile n’est pas une tâche facile, surtout pour les débutants. Cet article partagera quelques conseils pratiques pour vous aider à améliorer l’efficacité de l’apprentissage des compétences en dessin sur toile. 1. Comprendre les bases

Avec le développement rapide de la science et de la technologie et l'application généralisée des technologies de l'information dans le domaine de l'éducation, Canvas, en tant que système de gestion de l'apprentissage en ligne de premier plan au monde, émerge progressivement dans le secteur éducatif chinois. L’émergence de Canvas offre de nouvelles possibilités pour la réforme de l’éducation et des méthodes pédagogiques en Chine. Cet article explorera les tendances et les perspectives de développement de Canvas dans le secteur de l’éducation en Chine. Tout d’abord, l’une des tendances de développement de Canvas dans le secteur éducatif chinois est une intégration approfondie. Avec le développement rapide du cloud computing, du big data et de l'intelligence artificielle, Canvas va de plus en plus
