Maison interface Web js tutoriel Comment implémenter la fonction de recadrage et de téléchargement d'images dans js via vue dans cropper

Comment implémenter la fonction de recadrage et de téléchargement d'images dans js via vue dans cropper

Jun 02, 2018 am 11:21 AM
javascript 上传

Cet article présente principalement des informations pertinentes sur la fonction de recadrage et de téléchargement d'images de cropper js basée sur vue. Les amis qui en ont besoin peuvent s'y référer

J'ai réalisé un projet il y a quelques jours sur le projet vue qui. a besoin de la fonction de recadrage et de téléchargement d'avatar. J'ai lu un article et apporté des modifications en fonction de celui-ci pour compléter cette fonction. J'aimerais le partager avec vous. Texte original : http://www.jb51.net/article/135719.htm

Premier téléchargement et introduction de cropper js,

npm install cropper js --save
Copier après la connexion

Introduire dans la page requise : import Cropper from "cropper js"

Le code html est le suivant :

<template> 
 <p id="demo"> 
 <!-- 遮罩层 --> 
 <p class="container" v-show="panel"> 
 <p> 
  <img id="image" :src="url" alt="Picture"> 
 </p> 
 <button type="button" id="button" @click="commit">确定</button> 
 <button type="button"id="cancel" @click="cancel">取消</button> 
 </p> 
 <p style="padding:20px;"> 
 <p class="show"> 
  <p class="picture" :style="&#39;backgroundImage:url(&#39;+headerImage+&#39;)&#39;"> 
  </p> 
 </p> 
 <p style="margin-top:20px;text-align: left;"> 
  <input type="file" id="change" accept="image" @change="change"> 
  <label for="change"></label> 
 </p> 
 </p> 
 </p> 
</template>
Copier après la connexion

Il s'agit principalement de code js , comme suit

1. Définir les variables initiales dans data et lier les données imgCropperData est ce que j'ai défini pour déterminer le format de l'image.

data() { 
 return { 
 headerImage: "", 
 picValue: "", 
 cropper: "", 
 croppable: false, 
 panel: false, 
 url: "", 
 imgCropperData: { 
 accept: "image/gif, image/jpeg, image/png, image/jpg" 
 } 
 }; 
 }
Copier après la connexion

2, dans un premier temps changer le cadre de recadrage en monté

mounted() { 
 //初始化这个裁剪框 
 var self = this; 
 var image = document.getElementById("image"); 
 this.cropper = new Cropper(image, { 
 aspectRatio: 1, 
 viewMode: 1, 
 background: false, 
 zoomable: false, 
 ready: function() { 
 self.croppable = true; 
 } 
 }); 
 }
Copier après la connexion

3. Il existe de nombreuses méthodes, notamment la création d'un chemin d'URL, l'événement de changement de zone de saisie, le dessin sur toile et la confirmation de la soumission pour le téléchargement. J'ai également ajouté une fonction d'événement d'annulation pour déterminer le type et la taille du fichier téléchargé.

methods: { 
 //取消上传 
 cancel() { 
 this.panel = false; 
 var obj = document.getElementById(&#39;change&#39;) ; 
 obj.outerHTML=obj.outerHTML; 
 }, 
 //创建url路径 
 getObjectURL(file) { 
 var url = null; 
 if (window.createObjectURL != undefined) { 
 // basic 
 url = window.createObjectURL(file); 
 } else if (window.URL != undefined) { 
 // mozilla(firefox) 
 url = window.URL.createObjectURL(file); 
 } else if (window.webkitURL != undefined) { 
 // webkit or chrome 
 url = window.webkitURL.createObjectURL(file); 
 } 
 return url; 
 }, 
 //input框change事件,获取到上传的文件 
 change(e) { 
 let files = e.target.files || e.dataTransfer.files; 
 if (!files.length) return; 
 let type = files[0].type; //文件的类型,判断是否是图片 
 let size = files[0].size; //文件的大小,判断图片的大小 
 if (this.imgCropperData.accept.indexOf(type) == -1) { 
 alert("请选择我们支持的图片格式!"); 
 return false; 
 } 
 if (size > 5242880) { 
 alert("请选择5M以内的图片!"); 
 return false; 
 } 
 this.picValue = files[0]; 
 this.url = this.getObjectURL(this.picValue); 
 //每次替换图片要重新得到新的url 
 if (this.cropper) { 
 this.cropper.replace(this.url); 
 } 
 this.panel = true; 
 }, 
 //确定提交 
 commit() { 
 this.panel = false; 
 var croppedCanvas; 
 var roundedCanvas; 
 if (!this.croppable) { 
 return; 
 } 
 // Crop 
 croppedCanvas = this.cropper.getCroppedCanvas(); 
 // Round 
 roundedCanvas = this.getRoundedCanvas(croppedCanvas); 
 this.headerImage = roundedCanvas.toDataURL(); 
 //上传图片 
 this.postImg(); 
 }, 
 //canvas画图 
 getRoundedCanvas(sourceCanvas) { 
 var canvas = document.createElement("canvas"); 
 var context = canvas.getContext("2d"); 
 var width = sourceCanvas.width; 
 var height = sourceCanvas.height; 
 canvas.width = width; 
 canvas.height = height; 
 context.imageSmoothingEnabled = true; 
 context.drawImage(sourceCanvas, 0, 0, width, height); 
 context.globalCompositeOperation = "destination-in"; 
 context.beginPath(); 
 context.arc( 
 width / 2, 
 height / 2, 
 Math.min(width, height) / 2, 
 0, 
 2 * Math.PI, 
 true 
 ); 
 context.fill(); 
 return canvas; 
 }, 
 //提交上传函数 
 postImg() { 
 alert("上传成功"); 
 //这边写图片的上传 
 } 
 }
Copier après la connexion

Ce qui précède est ce que j'ai compilé pour vous. J'espère qu'il vous sera utile à l'avenir.

Articles associés :

Comment définir des variables globales dans vue2 ? (Tutoriel détaillé)

Comment implémenter la concaténation de chaînes en JS (extension de String.prototype.format)

Utiliser ES6 pour résoudre le problème de fuite de mémoire via WeakMap (tutoriel détaillé)

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)
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Comment déverrouiller tout dans Myrise
3 Il y a quelques semaines 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)

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.

Étapes simples pour télécharger votre propre musique sur Kugou Étapes simples pour télécharger votre propre musique sur Kugou Mar 25, 2024 pm 10:56 PM

1. Ouvrez Kugou Music et cliquez sur votre photo de profil. 2. Cliquez sur l'icône des paramètres dans le coin supérieur droit. 3. Cliquez sur [Télécharger des œuvres musicales]. 4. Cliquez sur [Télécharger les travaux]. 5. Sélectionnez la chanson et cliquez sur [Suivant]. 6. Enfin, cliquez sur [Télécharger].

Comment télécharger des paroles sur QQ Music Comment télécharger des paroles sur QQ Music Feb 23, 2024 pm 11:45 PM

Avec l’avènement de l’ère numérique, les plateformes musicales sont devenues l’un des principaux moyens permettant aux gens d’obtenir de la musique. Cependant, parfois, lorsque nous écoutons des chansons, nous constatons qu’il n’y a pas de paroles, ce qui est très troublant. Beaucoup de gens espèrent que les paroles pourront être affichées lors de l'écoute de chansons afin de mieux comprendre le contenu et les émotions des chansons. QQ Music, en tant que l'une des plus grandes plateformes musicales en Chine, offre également aux utilisateurs la fonction de téléchargement de paroles, afin que les utilisateurs puissent mieux profiter de la musique et ressentir la connotation de la chanson. Ce qui suit explique comment télécharger des paroles sur QQ Music. d'abord

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 réservation en ligne à l'aide de WebSocket et JavaScript Comment mettre en œuvre un système de réservation en ligne à l'aide de WebSocket et JavaScript Dec 17, 2023 am 09:39 AM

Comment utiliser WebSocket et JavaScript pour mettre en œuvre un système de réservation en ligne. À l'ère numérique d'aujourd'hui, de plus en plus d'entreprises et de services doivent fournir des fonctions de réservation en ligne. Il est crucial de mettre en place un système de réservation en ligne efficace et en temps réel. Cet article explique comment utiliser WebSocket et JavaScript pour implémenter un système de réservation en ligne et fournit des exemples de code spécifiques. 1. Qu'est-ce que WebSocket ? WebSocket est une méthode full-duplex sur une seule connexion TCP.

Comment utiliser JavaScript et WebSocket pour mettre en œuvre un système de commande en ligne en temps réel Comment utiliser JavaScript et WebSocket pour mettre en œuvre un système de commande en ligne en temps réel Dec 17, 2023 pm 12:09 PM

Introduction à l'utilisation de JavaScript et de WebSocket pour mettre en œuvre un système de commande en ligne en temps réel : avec la popularité d'Internet et les progrès de la technologie, de plus en plus de restaurants ont commencé à proposer des services de commande en ligne. Afin de mettre en œuvre un système de commande en ligne en temps réel, nous pouvons utiliser les technologies JavaScript et WebSocket. WebSocket est un protocole de communication full-duplex basé sur le protocole TCP, qui peut réaliser une communication bidirectionnelle en temps réel entre le client et le serveur. Dans le système de commande en ligne en temps réel, lorsque l'utilisateur sélectionne des plats et passe une commande

Comment améliorer la vitesse de téléchargement de l'ordinateur Comment améliorer la vitesse de téléchargement de l'ordinateur Jan 15, 2024 pm 06:51 PM

La vitesse de téléchargement devient très lente ? Je pense que c'est un problème que de nombreux amis rencontreront lors du téléchargement d'éléments sur leur ordinateur. Si le réseau est instable lors de l'utilisation d'un ordinateur pour transférer des fichiers, la vitesse de téléchargement sera très lente. Alors, comment puis-je augmenter la vitesse de téléchargement du réseau ? Ci-dessous, l'éditeur vous expliquera comment résoudre le problème de la lenteur de la vitesse de téléchargement de l'ordinateur. En ce qui concerne la vitesse du réseau, nous savons tous que la vitesse d'ouverture des pages Web, la vitesse de téléchargement et la vitesse de téléchargement sont également très critiques. Certains utilisateurs ont souvent besoin de télécharger des fichiers sur le disque réseau, donc une vitesse de téléchargement rapide permettra sans aucun doute d'économiser. vous avez beaucoup d'argent. Moins de temps, que dois-je faire si la vitesse de téléchargement est lente ? Ci-dessous, l'éditeur vous propose des images et des textes expliquant comment gérer les vitesses de téléchargement lentes de l'ordinateur. Comment résoudre le problème de la vitesse de téléchargement lente de l'ordinateur ? Cliquez sur « Démarrer - Exécuter » ou sur « Touche Fenêtre »

Comment prendre des photos et les télécharger sur ordinateur Comment prendre des photos et les télécharger sur ordinateur Jan 16, 2024 am 10:45 AM

Tant que l'ordinateur est équipé d'un appareil photo, il peut prendre des photos, mais certains utilisateurs ne savent toujours pas comment prendre des photos et les télécharger. Je vais maintenant vous donner une introduction détaillée à la méthode de prise de photos sur l'ordinateur. afin que les utilisateurs puissent télécharger les images où ils le souhaitent. Comment prendre des photos et les télécharger sur un ordinateur 1. Ordinateur Mac 1. Ouvrez le Finder et cliquez sur l'application à gauche. 2. Après ouverture, cliquez sur l'application Appareil photo. 3. Cliquez simplement sur le bouton photo ci-dessous. 2. Ordinateur Windows 1. Ouvrez le champ de recherche ci-dessous et saisissez appareil photo. 2. Ouvrez ensuite l'application recherchée. 3. Cliquez sur le bouton photo à côté.

See all articles