Maison interface Web Tutoriel H5 Utilisez le canevas pour obtenir des effets de filtre d'image avec les compétences du didacticiel demonstration_html5

Utilisez le canevas pour obtenir des effets de filtre d'image avec les compétences du didacticiel demonstration_html5

May 16, 2016 pm 03:48 PM
canvas 图片滤镜

Il s'agit d'un effet spécial très intéressant, simulant l'effet granuleux en forme de point qui apparaît lorsqu'une caméra capture un écran de télévision. La taille des particules est réalisée grâce à la matrice de transformation et peut être ajustée arbitrairement. Les amis intéressés par la recherche peuvent essayer plus d'effets. Le code n'a pas été optimisé et n'est qu'une démonstration approximative. Vous pouvez l'améliorer vous-même.

1. Obtenir les données d'image

Copier le code
Le code est tel que suit :

img.src = 'http://bloglaotou.duapp.com/wp-content/themes/frontopen2/tools/filter/image2.jpg'
canvas.width = img.width ;
canvas.height = img.height;
var context = canvas.getContext("2d");
context.drawImage(img, 0, 0); context.getImageData (0, 0, canvas.width, canvas.height);


2 Définir la matrice de filtre

.
Copier le codeLe code est le suivant :
var m_VideoType=0; >switch (m_VideoType)
{
case0://VIDEO_TYPE.VIDEO_STAGGERED :
{
motif = [
0, 1,
0, 2,
1, 2 ,
1, 0 ,
2, 0,
2, 1,
];
pause; {
modèle = [
0,
1,
2,
];
break;
case2://VIDEO_TYPE.VIDEO_3X3 :
{
modèle =
[
0, 1, 2,
2, 0, 1,
1, 2, 0,
]; }
par défaut :
{
modèle =
[
0, 1, 2, 0, 0,
1, 1, 1, 2, 0,
0, 1, 2, 2, 2 ,
0, 0, 1, 2, 0,
0, 1, 1, 1, 2,
2, 0, 1, 2, 2,
0, 0, 0, 1 , 2,
2, 0, 1, 1, 1,
2, 2, 0, 1, 2,
2, 0, 0, 0, 1,
1, 2, 0, 1, 1,
2, 2, 2, 0, 1,
1, 2, 0, 0, 0,
1, 1, 2, 0, 1 ,
1, 2, 2, 2, 0,
];
break;
}
var pattern_width = [ 2, 1, 3, 5 ]; >var pattern_height = [6, 3, 3, 15 ];



3. Obtenir des données filtrées






Copier le code

Le code est le suivant :
for ( var x = 0; x < canvasData.width; x ) {
for ( var y = 0; y < canvasData. height; y ) {
// Index du pixel dans le tableau
var idx = (x y * canvasData.width) * 4; .data[idx 0]; var g = canvasData.data[idx 1]; var b = canvasData.data[idx 2]; var nWidth = pattern_width[m_VideoType]; nHeight = pattern_height[m_VideoType]; var index = nWidth * (y % nHeight) (x % nWidth)
index = pattern[index]; r = fclamp0255(2 * r);
if (index == 1)
var g = fclamp0255(2 * g);
if (index == 2)
var b = fclamp0255( 2 * b);
// attribuer une valeur d'échelle de gris
canvasData.data[idx 0] = r; // Canal rouge
canvasData.data[idx 1] = g; >canvasData.data[idx 2] = b ; // Canal bleu
canvasData.data[idx 3] = 255; // Canal Alpha
// Ajouter une bordure noire
if(x < 8 | | y < 8 || x > (canvasData.width - 8) || (canvasData.height - 8))
{
canvasData.data[idx 0] = 0; canvasData.data[idx 1] = 0;
canvasData.data[idx 2] = 0;
}
}
}



4. données filtrées






Copier le code


Le code est le suivant :


contexte .putImageData(canvasData, 0, 0 );

5. Documents de référence

Projet open source Dai Zhenjun ImageFilter
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)
2 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
2 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 implémenter des effets de filtre d'image en PHP Comment implémenter des effets de filtre d'image en PHP Sep 13, 2023 am 11:31 AM

La méthode de mise en œuvre de l'effet de filtre d'image PHP nécessite des exemples de code spécifiques Introduction : Dans le processus de développement Web, les effets de filtre d'image sont souvent utilisés pour améliorer la vivacité et les effets visuels des images. Le langage PHP fournit une série de fonctions et de méthodes pour obtenir divers effets de filtre d'image. Cet article présentera certains effets de filtre d'image couramment utilisés et leurs méthodes de mise en œuvre, et fournira des exemples de code spécifiques. 1. Réglage de la luminosité Le réglage de la luminosité est un effet de filtre d'image courant, qui peut modifier la luminosité et l'obscurité de l'image. En utilisant imagefilte en PHP

Que sont les plug-ins de flèches de canevas ? Que sont les plug-ins de flèches de canevas ? Aug 21, 2023 pm 02:14 PM

Les plug-ins de flèches du canevas incluent : 1. Fabric.js, qui possède une API simple et facile à utiliser et peut créer des effets de flèche personnalisés ; 2. Konva.js, qui fournit la fonction de dessiner des flèches et peut créer diverses flèches ; styles ; 3. Pixi.js, qui fournit des fonctions de traitement graphique riches et peut obtenir divers effets de flèche ; 4. Two.js, qui peut facilement créer et contrôler des styles de flèches et des animations 5. Arrow.js, qui peut créer divers effets de flèche ; ; 6. Rough .js, vous pouvez créer des flèches dessinées à la main, etc.

Quelles versions de html2canvas existe-t-il ? Quelles versions de html2canvas existe-t-il ? Aug 22, 2023 pm 05:58 PM

Les versions de html2canvas incluent html2canvas v0.x, html2canvas v1.x, etc. Introduction détaillée : 1. html2canvas v0.x, qui est une première version de html2canvas. La dernière version stable est la v0.5.0-alpha1. Il s'agit d'une version mature qui a été largement utilisée et vérifiée dans de nombreux projets ; 2. html2canvas v1.x, il s'agit d'une nouvelle version de html2canvas.

Quels sont les détails de l'horloge en toile ? Quels sont les détails de l'horloge en toile ? Aug 21, 2023 pm 05:07 PM

Les détails de l'horloge sur toile incluent l'apparence de l'horloge, les graduations, l'horloge numérique, les aiguilles des heures, des minutes et des secondes, le point central, les effets d'animation, d'autres styles, etc. Introduction détaillée : 1. Apparence de l'horloge, vous pouvez utiliser Canvas pour dessiner un cadran circulaire comme apparence de l'horloge, et vous pouvez définir la taille, la couleur, la bordure et d'autres styles du cadran 2. Lignes d'échelle, tracez des lignes d'échelle dessus ; le cadran pour représenter les heures ou les minutes. Position ; 3. Horloge numérique, vous pouvez dessiner une horloge numérique sur le cadran pour indiquer l'heure et les minutes actuelles ; 4. Aiguille des heures, aiguille des minutes, aiguille des secondes, etc.

uniapp implémente comment utiliser Canvas pour dessiner des graphiques et des effets d'animation uniapp implémente comment utiliser Canvas pour dessiner des graphiques et des effets d'animation Oct 18, 2023 am 10:42 AM

Comment utiliser Canvas pour dessiner des graphiques et des effets d'animation dans Uniapp nécessite des exemples de code spécifiques 1. Introduction Avec la popularité des appareils mobiles, de plus en plus d'applications doivent afficher divers graphiques et effets d'animation sur le terminal mobile. En tant que framework de développement multiplateforme basé sur Vue.js, uniapp offre la possibilité d'utiliser un canevas pour dessiner des graphiques et des effets d'animation. Cet article présentera comment Uniapp utilise Canvas pour obtenir des effets de graphique et d'animation, et donnera des exemples de code spécifiques. 2. toile

Quelles sont les propriétés de la toile tkinter ? Quelles sont les propriétés de la toile tkinter ? Aug 21, 2023 pm 05:46 PM

Les attributs du canevas tkinter incluent bg, bd, relief, width, height, curseur, highlightbackground, highlightcolor, highlightthickness, insertbackground, insertwidth, selectbackground, selectforeground, les attributs xscrollcommand, etc. Présentation détaillée

Pour quels styles html2canvas n'est-il pas valide ? Pour quels styles html2canvas n'est-il pas valide ? Nov 24, 2023 pm 03:25 PM

Les styles non valides incluent les animations et transitions CSS3, les effets de filtre CSS, les graphiques et chemins complexes CSS3, certaines fonctionnalités CSS3, les pseudo-éléments et certaines fonctionnalités CSS, l'index Z, les images d'arrière-plan et les dégradés, etc. Introduction détaillée : 1. Animation et transition CSS3 : html2canvas peut ne pas capturer entièrement les effets d'animation et de transition CSS3. Bien que des tentatives soient faites pour capturer le style final, ces animations et transitions peuvent être perdues pendant le processus de conversion ; 2. Effets de filtre CSS : les filtres tels que le flou et les ombres peuvent ne pas être conservés pendant le processus de conversion, etc.

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

See all articles