4D v16SVG_Filter_ColorMatrix |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
4D v16
SVG_Filter_ColorMatrix
|
SVG_Filter_ColorMatrix ( svgObject {; in ; result} {; type {; values}} ) -> 戻り値 | ||||||||
引数 | 型 | 説明 | ||||||
svgObject | SVG_Ref |
![]() |
SVGオブジェクト参照 | |||||
in | テキスト |
![]() |
原始フィルターに対しての入力を指定 | |||||
result | テキスト |
![]() |
フィルターの出力結果の参照 | |||||
type | テキスト |
![]() |
行列演算の型を指定 | |||||
values | テキスト |
![]() |
変換行列に適用する数値 | |||||
戻り値 | SVG_Ref |
![]() |
新しいカラー値のSVGオブジェクトに対する参照 | |||||
SVG_Filter_ColorMatrix コマンドは、 svgObject 引数に渡したソース画像の各ピクセルに行列変換を行い、新しいカラー値を持った結果を生成します。
in 引数には、その前の‘result’ の値と同じ文字列を渡すか、以下の6つのキーワードのどれかを渡す事ができます:
何の値も渡さず、またこれが最初の原始フィルターであった場合は、SourceGraphic が入力として使用されます。何の値も渡さず、これが二つ目以降の原始フィルターであった場合は、このフィルターは前の原始フィルターの結果を入力として使用します。
result 引数には、フィルターの出力結果の参照を渡します。この出力は、コマンド内の同じ 'filter '要素内においてその後に使用する in 引数で参照する事ができます。何の値も渡さなかった場合、この出力は、次の原始フィルターが in 引数に何の値も渡されなかった場合にそのフィルターの入力としてのみ再使用することができます。
type 引数には、以下のキーワードのどれかを渡して行列変換の型を指定する事ができます:
type 引数を渡さなかった場合、デフォルトで、値に matrix が指定されたのと同じ効果になります。
values 引数には、type 引数に渡したキーワードに基づいた数値を渡します。:
values 引数を渡さなかった場合、デフォルトの挙動は type 引数に渡したキーワードによって異なります:
注: Windows 環境下では、このコマンドを使用するためにはその前にDirect2Dを無効化しておく必要があります(SET DATABASE PARAMETERコマンド内の詳細の Direct2D disabled 定数を参照して下さい)。
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")
// この値を渡すための別のシンタックス
//$Dom_node:=SVG_Filter_ColorMatrix ($Dom_filter;"SourceGraphic";"";"saturate";String(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;"No filter";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")
//結果を見る
SVGTool_SHOW_IN_VIEWER($Dom_svg)
//SVG_SAVE_AS_TEXT($Dom_svg;System folder(Desktop)+"export.svg")
//最後にメモリをクリアすることもお忘れなく
SVG_CLEAR($Dom_svg)
プロダクト: 4D
テーマ: カラー&グラデーション
初出: 4D v14
SVGコンポーネント ( 4D v16)