Maison interface Web js tutoriel js et canvas implémentent le téléchargement de la compression de l'aperçu de l'image

js et canvas implémentent le téléchargement de la compression de l'aperçu de l'image

Mar 28, 2018 pm 05:16 PM
canvas javascript 压缩

Cet article partage principalement la méthode de compression et de téléchargement d'aperçus d'images avec js et canvas, combinée avec un exemple de code et des explications, dans l'espoir d'aider tout le monde.

Étape 1 : L'utilisateur sélectionne l'image à télécharger

<input type="file" accept="image/*" type="file"" name="imageFile" onchange="upload()">
Copier après la connexion

Une fois l'image sélectionnée, la fonction de téléchargement sera déclenchée. Nous devons obtenir la ressource image dans cette fonction. Compressez-le et dessinez-le à l'aide de Canvas. Si vous devez le télécharger sur le serveur, vous pouvez également utiliser ajax ou d'autres méthodes pour le télécharger.

Étape 2 : Obtenez l'aperçu compressé de la ressource image et téléchargez-le

function upload() {
	let file = document.querySelector(&#39;input[type=file]&#39;).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(&#39;image/jpeg&#39;, 0.92) // 0.92为压缩比,可根据需要设置,设置过小会影响图片质量 
                                                                   // dataUrl 为压缩后的图片资源,可将其上传到服务器 
            } 
       }
 }
Copier après la connexion

Comparons maintenant si l'image est compressée avec succès :

Taille de l'image originale :
Le taux de compression est réglé sur 0,92 :
Le taux de compression est réglé sur 0,52

À première vue, pensez-vous que c'est étrange pourquoi le taux de mise à l'échelle est réglé sur 0,92, image Elle est en fait plus grande que l'image originale ? 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.

Recommandations associées :

php télécharge les fichiers sur le serveur et implémente l'aperçu de l'image

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

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.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌
Will R.E.P.O. Vous avez un jeu croisé?
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌

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)

Paramètres du taux de compression maximum de 7-zip, comment compresser 7zip au minimum Paramètres du taux de compression maximum de 7-zip, comment compresser 7zip au minimum Jun 18, 2024 pm 06:12 PM

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é

Conseils pour réduire la taille du fichier d'enregistrement d'écran Win10 Conseils pour réduire la taille du fichier d'enregistrement d'écran Win10 Jan 04, 2024 pm 12:05 PM

De nombreux amis ont besoin d'enregistrer des écrans pour le travail de bureau ou de transférer des fichiers, mais parfois le problème des fichiers trop volumineux pose beaucoup de problèmes. Ce qui suit est une solution au problème des fichiers trop volumineux, jetons-y un coup d'œil. Que faire si le fichier d'enregistrement d'écran Win10 est trop volumineux : 1. Téléchargez le logiciel Format Factory pour compresser le fichier. Adresse de téléchargement >> 2. Entrez dans la page principale et cliquez sur l'option "Vidéo-MP4". 3. Cliquez sur « Ajouter un fichier » sur la page du format de conversion et sélectionnez le fichier MP4 à compresser. 4. Cliquez sur « Configuration de sortie » sur la page pour compresser le fichier en fonction de la qualité de sortie. 5. Sélectionnez « Faible qualité et taille » dans la liste de configuration déroulante et cliquez sur « OK ». 6. Cliquez sur "OK" pour terminer l'importation des fichiers vidéo. 7. Cliquez sur "Démarrer" pour démarrer la conversion. 8. Une fois terminé, vous pouvez

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

Apprenez le cadre de canevas et expliquez en détail le cadre de canevas couramment utilisé Apprenez le cadre de canevas et expliquez en détail le cadre de canevas couramment utilisé Jan 17, 2024 am 11:03 AM

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

Comment compresser un dossier et l'envoyer en wps Comment compresser un dossier et l'envoyer en wps Mar 20, 2024 pm 12:58 PM

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.​

winrar 64 bits-Comment décompresser Winrar ? winrar 64 bits-Comment décompresser Winrar ? Mar 18, 2024 pm 12:55 PM

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

Présentation des commandes de compression et de décompression Centos 7 Présentation des commandes de compression et de décompression Centos 7 Dec 31, 2023 pm 09:02 PM

1.Syntaxe de compression du fichier Zip : zip plus le nom du fichier compressé plus le nom du fichier à compresser. [root@localhost~]#ziptest.ziptest.txtadding:test.txt(deflated100%)[root@localhost~]#Le pourcentage de la barre de progression apparaissant après indique qu'elle a été compressée. Vous pouvez ensuite la vérifier dans. ll pour voir s'il porte votre nom de package de fichiers. [root@localhost~]#llUtilisation totale 820004-rw-------.1rootroot1587 mars 2216:58anaconda-ks.cfg-rw-r--r--.1ro

Explorez le rôle puissant et l'application du canevas dans le développement de jeux Explorez le rôle puissant et l'application du canevas dans le développement de jeux Jan 17, 2024 am 11:00 AM

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

See all articles