Position actuelle: Accueil> Derniers articles> Comment utiliser la fonction ImageConvolution pour créer des effets de soulagement et d'ombre? Analyse comparative

Comment utiliser la fonction ImageConvolution pour créer des effets de soulagement et d'ombre? Analyse comparative

M66 2025-07-04

<span><span><span class="hljs-meta"><?php</span></span><span> </span><span><span class="hljs-comment">// 文章内容和程序无关部分</span></span><span> </span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"欢迎阅读本文,以下是关于 PHP 图像处理的技术分析内容:"</span></span><span>; </span><span><span class="hljs-meta">?></span></span><span> <hr> <h1>如何利用 imageconvolution 函数制作浮雕和阴影效果?对比分析</h1> <p> 在 PHP 图像处理领域,<code>imageconvolution

  • : La ressource d'image à traiter.
  • $ matrice : 3 X3 Convolution Matrix, utilisé pour définir les effets du filtre.
  • $ div : La somme de toutes les valeurs de matrice comme facteurs de normalisation.
  • $ offset : Le décalage a ajouté à chaque canal de couleur après le calcul, utilisé pour ajuster la luminosité.

2. Réalisation de l'effet de secours

L'effet de soulagement simule généralement le sens de la trois dimensionnalité en mettant l'accent sur les bords de l'image et en introduisant la direction de la source lumineuse. Voici une matrice de convolution typique pour les effets de secours:

 </span><span><span class="hljs-variable">$embossMatrix</span></span><span> = [
    [-</span><span><span class="hljs-number">2</span></span><span>, -</span><span><span class="hljs-number">1</span></span><span>, </span><span><span class="hljs-number">0</span></span><span>],
    [-</span><span><span class="hljs-number">1</span></span><span>,  </span><span><span class="hljs-number">1</span></span><span>, </span><span><span class="hljs-number">1</span></span><span>],
    [ </span><span><span class="hljs-number">0</span></span><span>,  </span><span><span class="hljs-number">1</span></span><span>, </span><span><span class="hljs-number">2</span></span><span>]
];

Cette matrice simule les rayons lumineux illuminants du haut à gauche, créant une sensation de soulagement concave et convexe. Exemple d'implémentation:

 </span><span><span class="hljs-variable">$img</span></span><span> = </span><span><span class="hljs-title function_ invoke__">imagecreatefromjpeg</span></span><span>(</span><span><span class="hljs-string">'example.jpg'</span></span><span>);
</span><span><span class="hljs-title function_ invoke__">imageconvolution</span></span><span>(</span><span><span class="hljs-variable">$img</span></span><span>, </span><span><span class="hljs-variable">$embossMatrix</span></span><span>, </span><span><span class="hljs-number">1</span></span><span>, </span><span><span class="hljs-number">128</span></span><span>);
</span><span><span class="hljs-title function_ invoke__">imagejpeg</span></span><span>(</span><span><span class="hljs-variable">$img</span></span><span>, </span><span><span class="hljs-string">'embossed.jpg'</span></span><span>);
</span><span><span class="hljs-title function_ invoke__">imagedestroy</span></span><span>(</span><span><span class="hljs-variable">$img</span></span><span>);

3. Réalisation des effets de l'ombre

Les effets de l'ombre sont souvent utilisés pour améliorer la profondeur d'une image ou mettre en évidence le sujet. Voici une matrice convolutionnelle qui simule les ombres (en broyant et en compensant l'image):

 </span><span><span class="hljs-variable">$shadowMatrix</span></span><span> = [
    [</span><span><span class="hljs-number">1</span></span><span>, </span><span><span class="hljs-number">1</span></span><span>, </span><span><span class="hljs-number">1</span></span><span>],
    [</span><span><span class="hljs-number">1</span></span><span>, </span><span><span class="hljs-number">0</span></span><span>, </span><span><span class="hljs-number">1</span></span><span>],
    [</span><span><span class="hljs-number">1</span></span><span>, </span><span><span class="hljs-number">1</span></span><span>, </span><span><span class="hljs-number">1</span></span><span>]
];

Cette matrice équivaut à brouiller légèrement l'image et s'accompagne souvent de superpositions de transparence ou de décalages de calque afin d'être plus ombragés. Comment l'utiliser est comme suit:

 </span><span><span class="hljs-variable">$img</span></span><span> = </span><span><span class="hljs-title function_ invoke__">imagecreatefrompng</span></span><span>(</span><span><span class="hljs-string">'logo.png'</span></span><span>);
</span><span><span class="hljs-title function_ invoke__">imageconvolution</span></span><span>(</span><span><span class="hljs-variable">$img</span></span><span>, </span><span><span class="hljs-variable">$shadowMatrix</span></span><span>, </span><span><span class="hljs-number">8</span></span><span>, </span><span><span class="hljs-number">0</span></span><span>);
</span><span><span class="hljs-title function_ invoke__">imagepng</span></span><span>(</span><span><span class="hljs-variable">$img</span></span><span>, </span><span><span class="hljs-string">'shadowed.png'</span></span><span>);
</span><span><span class="hljs-title function_ invoke__">imagedestroy</span></span><span>(</span><span><span class="hljs-variable">$img</span></span><span>);

4. Comparaison des effets entre le soulagement et l'ombre

"1"cellpadding ="8">
fonctionnalité Effet de secours Effet de l'ombre
Objectif principal Bords stéréo de l'image améliorés Mettre en surbrillance les objets et simuler des ombres claires
Scénarios courants Icônes tridimensionnelles, texte et effet artistique Boutons d'interface utilisateur, séparation de calques
Style visuel Capture de pierre simulée ou surface métallique Ombres douces ou taches sombres
Mise en œuvre de la technologie Matrice de convolution asymétrique + décalage Matrice de convolution floue + décalage local

5. Résumé

ImageConvolution offre des capacités de traitement d'image flexibles. En concevant différentes matrices convolutionnelles, nous pouvons obtenir des effets visuels riches. Le gaufrage convient aux images qui doivent mettre en évidence les lignes structurelles, tandis que les ombres conviennent aux conceptions qui améliorent la superposition visuelle et la mise au point. Dans les applications pratiques, la compréhension et la combinaison de ces effets de base est une étape clé pour réaliser un traitement d'image avancé.