4D v16SVG_Filter_ColorMatrix |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
4D v16
SVG_Filter_ColorMatrix
|
SVG_Filter_ColorMatrix ( objetSVG {; in ; result} {; type {; values}} ) -> Résultat | ||||||||
Paramètre | Type | Description | ||||||
objetSVG | Ref_SVG |
![]() |
Référence objet SVG | |||||
in | Texte |
![]() |
Précise les entrées pour la primitive de filtre "ColorMatrix" | |||||
result | Texte |
![]() |
Fournit une référence pour le résultat de sortie du filtre | |||||
type | Texte |
![]() |
Indique le type d'opération de matrice | |||||
values | Texte |
![]() |
Valeurs pour la matrice de transformation. Les valeurs numériques sont à passer avec le "." comme séparateur décimal. | |||||
Résultat | Ref_SVG |
![]() |
Référence de l'objet SVG avec de nouvelles valeurs pour les couleurs | |||||
La commande SVG_Filter_ColorMatrix applique une matrice de transformation sur chaque pixel de l'image source passée dans le paramètre objetSVG afin de produire un résultat avec de nouvelles couleurs.
Dans le paramètre in, vous pouvez passer une chaîne qui correspond à un précédent result ou un des six mots-clefs suivants :
Si aucune valeur n'est passée et s'il s'agit de la première primitive de filtre, alors la source SourceGraphic est utilisée comme entrée. Si aucune valeur n'est passée et s'il s'agit d'une primitive de filtre subséquente, alors le filtre primitif utilisera le résultat du précédent filtre primitif en entrée.
Dans le paramètre result, vous passez une référence pour le résultat en sortie du filtre référencé dans le paramètre in dans une utilisation subséquente de cette commande dans le même élément de filtre. Si aucune valeur n'est fournie, la sortie ne sera disponible qu'en réutilisation comme entrée implicite pour la primitive de filtre suivante, si cette dernière n'a aucune valeur pour son attribut in.
Dans le paramètre type, vous pouvez spécifier le type d'opération de matrice en passant un des attributs suivants :
Si vous ne passez pas le paramètre type, par défaut c'est le type Matrix qui est appliqué.
Dans le paramètre values, vous passez les valeurs numériques en fonction du mot-clé passé dans le paramètre type :
Si vous ne passez pas le paramètre values, le comportement par défaut dépend du mot-clé passé dans le paramètre type :
Note : Sous Windows, cette commande requiert la désactivation préalable de Direct2D (cf. constante Direct2D désactivé dans la description de la commande SET DATABASE PARAMETER).
C_TEXT($Dom_filter;$Dom_node;$Dom_rect;$Dom_svg;$Txt_matrix)
SVG_SET_OPTIONS(SVG_Get_options ?+5)
$Dom_svg:=SVG_New
$Dom_filter:=SVG_Define_filter($Dom_svg;"Matrix")
$Txt_matrix:=\
".33 .33 .33 0 0 "\
+".33 .33 .33 0 0 "\
+".33 .33 .33 0 0 "\
+".33 .33 .33 0 0"
$Dom_node:=SVG_Filter_ColorMatrix($Dom_filter;"SourceGraphic";"";"matrix";$Txt_matrix)
$Dom_filter:=SVG_Define_filter($Dom_svg;"Saturate")
$Dom_node:=SVG_Filter_ColorMatrix($Dom_filter;"SourceGraphic";"";"saturate";"1.5")
// another syntax for value
//$Dom_node:=SVG_Filter_ColorMatrix ($Dom_filter;"SourceGraphic";"";"saturate";Chaine(1,5;"&xml"))
$Dom_filter:=SVG_Define_filter($Dom_svg;"HueRotate90")
$Dom_node:=SVG_Filter_ColorMatrix($Dom_filter;"SourceGraphic";"";"hueRotate";"90")
$Dom_filter:=SVG_Define_filter($Dom_svg;"LuminanceToAlpha")
$Dom_node:=SVG_Filter_ColorMatrix($Dom_filter;"SourceGraphic";"";"luminanceToAlpha")
$Dom_rect:=SVG_New_rect($Dom_svg;2;0;797;100;0;0;"none";"coral")
$Dom_rect:=SVG_New_rect($Dom_svg;2;100;797;100;0;0;"none";"coral")
SVG_SET_FILTER($Dom_rect;"Matrix")
$Dom_rect:=SVG_New_rect($Dom_svg;2;200;797;100;0;0;"none";"coral")
SVG_SET_FILTER($Dom_rect;"Saturate")
$Dom_rect:=SVG_New_rect($Dom_svg;2;300;797;100;0;0;"none";"coral")
SVG_SET_FILTER($Dom_rect;"HueRotate90")
$Dom_rect:=SVG_New_rect($Dom_svg;2;400;797;100;0;0;"none";"coral")
SVG_SET_FILTER($Dom_rect;"LuminanceToAlpha")
SVG_New_text($Dom_svg;"Pas de filtre";110;10;"Verdana";60;Bold;-1;"black")
SVG_New_text($Dom_svg;"Matrix";110;110;"Verdana";60;Bold;-1;"black")
SVG_New_text($Dom_svg;"Saturate";110;210;"Verdana";60;Bold;-1;"black")
SVG_New_text($Dom_svg;"HueRotate";110;310;"Verdana";60;Bold;-1;"black")
SVG_New_text($Dom_svg;"Luminance";110;410;"Verdana";60;Bold;-1;"black")
//View the result
SVGTool_SHOW_IN_VIEWER($Dom_svg)
//SVG_SAVE_AS_TEXT($Dom_svg;System folder(Desktop)+"export.svg")
//Don't forget to clear the memory
SVG_CLEAR($Dom_svg)
Produit : 4D
Thème : Couleurs et dégradés
Créé : 4D v14
4D SVG ( 4D v16)