Accueil Médias sociaux Comment manipuler des pixels avec le tag de toile HTML5 - pour les nuls

Comment manipuler des pixels avec le tag de toile HTML5 - pour les nuls

Vidéo: Complete Animation Workflow (Adobe Character Animator Tutorial) 2025

Vidéo: Complete Animation Workflow (Adobe Character Animator Tutorial) 2025
Anonim

HTML5 vous permet d'extraire les données d'une balise canvas dans les données de pixels sous-jacentes. La manipulation de ces données vous donne un contrôle étendu de votre image en temps réel. Vous pouvez utiliser ces données pour l'équilibrage des couleurs, ainsi que pour expérimenter vos propres flous, nettets et effets de chrominance.

Peu importe le format dans lequel une image est stockée dans le système de fichiers, elle est affichée sous la forme d'une liste de pixels. Chaque pixel est représenté (dans le système 32 bits standard, de toute façon) par quatre entiers: RGBA. Le R représente la quantité de rouge dans le point courant, G représente le vert et B le bleu. Le A représente alpha, qui est une mesure de la transparence de l'image. Chacune de ces valeurs peut varier de 0 à 255. Lorsque vous convertissez une image au format de données d'image, vous obtenez un grand nombre d'entiers. Chaque groupe de quatre images représente un seul pixel de données de couleur.

Ce code modifie la balance des couleurs d'une image:

function draw () {var drawing = document. getElementById ("dessin"); var con = dessin. getContext ("2d"); var original = document. getElementById ("original"); CANV_WIDTH = 200; CANV_HEIGHT = 200; // dessine l'original sur la toile con. drawImage (original, 0, 0); // récupère les données d'image imgData = con. getImageData (0, 0, 200, 200); // boucle les données d'image pour (ligne = 0; ligne  255) {r = 255;} si (r 255) {g = 255; g 255) {r = 255;} si (b <0) {b = 0;} si (a> 255) {a = 255;} si (a <0) {a = 0;} // retourner de nouvelles valeurs aux données imgData. données [index] = r; imgData. données [index + 1] = g; imgData. données [index + 2] = b; imgData. data [index + 3] = a;} // end col pour la boucle} // end row pour la boucle // dessine une nouvelle image sur canvas con. putImageData (imgData, 0, 0);} // fin de la fonction

Alors que la liste des codes semble assez longue, elle n'est vraiment pas trop difficile à suivre:

  1. Dessine une image originale.

    La technique que vous utiliserez extrait les données d'un élément de canevas. Pour modifier une image, vous devez d'abord la dessiner sur un canevas. Vous pouvez utiliser la méthode drawImage () ordinaire.

  2. Extrayez les données d'image.

    La méthode getImageData () obtient l'image affichée par le canevas actuel et la place dans un vaste tableau d'entiers.

  3. Faites une boucle pour gérer les lignes.

    Les données d'image sont divisées en lignes et en colonnes. Chaque ligne va de 0 à la hauteur de la toile, alors faites une boucle for pour parcourir les lignes.

  4. Faites une autre boucle pour gérer les colonnes.

    A l'intérieur de chaque ligne, il y a assez de données pour aller de 0 à la largeur de la toile, alors faites une seconde pour la boucle à l'intérieur de la première.Il est très fréquent d'utiliser une paire de boucles imbriquées pour parcourir des données bidimensionnelles comme des informations d'image.

  5. Trouvez l'index dans imageData pour la ligne et la colonne en cours.

    Le tableau imageData contient quatre entiers pour chaque pixel, donc nous devons faire un peu de maths pour savoir où est le premier entier pour chaque pixel. La formule la plus simple consiste à multiplier le nombre de lignes par la largeur du canevas, à l'ajouter au nombre de colonnes et à multiplier le résultat entier par quatre.

  6. Tirez les valeurs de couleurs correspondantes à partir de l'index.

    L'index représente également la valeur rouge du pixel courant. Le prochain int contient la valeur verte, suivie par la valeur bleue, et enfin la valeur alpha.

  7. Manipulez les valeurs de couleur comme vous le souhaitez.

    Si vous voulez créer une application d'équilibrage des couleurs, vous pouvez simplement ajouter ou soustraire des valeurs pour modifier l'équilibre général des couleurs. Vous pouvez également faire un travail beaucoup plus élaboré si vous voulez jouer avec la manipulation d'image au niveau des pixels.

  8. Vérifiez les limites.

    La valeur d'un pixel ne peut pas être inférieure à 0 ou supérieure à 255. Vérifiez donc ces deux limites et ajustez toutes les valeurs de pixel pour les limites légales.

  9. Retourne les valeurs manipulées dans le tableau imgData.

    Vous pouvez copier des valeurs dans le tableau, et vous devriez le faire pour rendre les changements visibles.

  10. Dessine les données d'image sur le canevas.

    La fonction putImageData () renvoie les données de l'image en cours dans la zone de dessin en tant qu'image ordinaire. La nouvelle version de l'image reflétera les changements.

Comment manipuler des pixels avec le tag de toile HTML5 - pour les nuls

Le choix des éditeurs

Valide Versus un document XML bien formé - mannequins

Valide Versus un document XML bien formé - mannequins

En XML, un document valide doit se conformer aux règles de sa définition DTD (Document Type Definition) ou schéma, qui définit quels éléments peuvent apparaître dans le document et comment les éléments peuvent s'imbriquer les uns dans les autres. Si un document n'est pas bien formé, il ne va pas très loin dans le monde XML, donc vous avez besoin de ...

Validation de votre page Web HTML5 - mannequins

Validation de votre page Web HTML5 - mannequins

Peu importe votre précaution, vous faites parfois des bêtises lorsque coder vos pages Web HTML5. Un outil comme un correcteur orthographique pour le code serait génial. Et voilà, il existe un tel outil de vérification de code. Le W3C Markup Validation Service, présenté par les mêmes personnes qui ont élaboré les normes ...

Espacement vertical en HTML - nuls

Espacement vertical en HTML - nuls

Pour le codage du contenu de la page en HTML pour vos pages Web, vous pourriez demander: «Comment puis-je me débarrasser de cet espacement (vertical)? "Entre les paragraphes. Ou, "Comment ajouter un espacement (vertical) entre les éléments de la liste? "D'abord, il sera utile de comprendre d'où vient cet espacement vertical. Espacement vertical en HTML ...

Le choix des éditeurs

Héberger des vidéos Mobile sur YouTube - des nuls

Héberger des vidéos Mobile sur YouTube - des nuls

Pour les webmestres mobiles qui ne veulent pas se démener Sur de nouveaux lexiques de spécifications techniques, l'option la plus simple est de laisser YouTube, représenté sur la figure, faire tout le travail d'hébergement et de diffusion de la vidéo. YouTube rend toutes ses vidéos mobiles conviviales, offrant la meilleure version pour chaque appareil. Lorsque vous téléchargez ...

Sites Web QuarkXPress utiles - mannequins

Sites Web QuarkXPress utiles - mannequins

Les utilisateurs de quarkXPress ont accès à une foule d'informations et de cadeaux liés à QuarkXPress. La prochaine fois que vous êtes en ligne, consultez certains de ces sites QuarkXPress et de publication assistée par ordinateur. Sites XTensions Des centaines de XTensions commerciales pour QuarkXPress sont disponibles pour Mac et Windows; ces XTensions gèrent un large éventail de tâches que QuarkXPress ne peut pas faire. Beaucoup d'informations ...

Activation de User Agent Switcher dans Safari - Témoins

Activation de User Agent Switcher dans Safari - Témoins

Lorsque vous testez un site Web Destiné à l'iPhone et l'iPad sur un ordinateur de bureau, si le script de détection de périphérique sur un serveur reconnaît que vous utilisez un navigateur sur un ordinateur, il ne vous montre pas la version du téléphone. C'est là que l'agent utilisateur entre dans l'image. Safari inclut des fonctionnalités spéciales qui permettent ...

Le choix des éditeurs

Raccourcis vers les centres de commande dans MYOB - mannequins

Raccourcis vers les centres de commande dans MYOB - mannequins

Vous pouvez vous rendre directement au centre de commande de votre choix MYOB. Appuyez sur la touche Ctrl de votre PC tout en appuyant sur l'un de ces chiffres - et vous allez au centre de commande de votre désir! Combinaison de touches Raccourci Résultat Ctrl-1 Centre de commande des comptes Ctrl-2 Centre de commande bancaire Ctrl-3 Centre de commande des ventes Ctrl-4 ...

Rapprochement de votre compte bancaire dans Sage 50 - variables nominales

Rapprochement de votre compte bancaire dans Sage 50 - variables nominales

Avant de commencer un rapprochement bancaire dans Sage 50, vous devez pour vous assurer que vous avez saisi la majorité de vos transactions financières pendant la période de réconciliation. Traditionnellement, les comptables réconcilient le compte bancaire à la fin de chaque mois, une fois qu'ils ont reçu leurs relevés bancaires. Cependant, l'avènement de la banque en ligne ...

Solutions et Knowledge in Salesforce. com Service Cloud - les nuls

Solutions et Knowledge in Salesforce. com Service Cloud - les nuls

En tant qu'agent, vous devez savoir quels outils sont à votre disposition dans Service Cloud pour faciliter votre travail. Plus spécifiquement, Salesforce propose deux outils majeurs de résolution de problèmes pour les clients et les agents de support, Solutions et Knowledge. Quelle est la différence, demandez-vous? Avant de regarder les différences, voici ce qu'elles contiennent ...