ここは旧式の4DドキュメントWebサイトです。最新のアップデートされたドキュメントを読むには新サイトをご利用下さい→ developer.4d.com |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
4D v20 R7
SVG_SET_STROKE_VECTOR_EFFECT
|
SVG_SET_STROKE_VECTOR_EFFECT ( svgObj {; vectorEffect} ) | ||||||||
引数 | 型 | 説明 | ||||||
svgObj | SVG_Ref |
![]() |
Reference of SVG element | |||||
vectorEffect | 文字 |
![]() |
"non-scaling-stroke", "none", "inherit" | |||||
SVG_SET_STROKE_VECTOR_EFFECT コマンドは、svgObj 引数で指定したSVGオブジェクトの線のベクターエフェクト属性を設定します。ベクターエフェクト属性はオブジェクトが変換(例えばズームインやズームアウト)されたときのオブジェクトのストロークの振る舞いを指定します。
svgObj 引数には、ベクターエフェクト属性を設定したいSVG 要素への参照を渡します。svgObj 引数がSVG 要素を参照していない場合、エラーが生成されます。ベクターエフェクト属性が既に定義されていた場合、その値はvectorEffect 引数の値で上書きされます。
任意のvectorEffect 引数には、属性で使用される値を渡します。以下の値を渡すことができます:
vectorEffect | 詳細 |
"non-scaling-stroke" | ストローク(線)の太さは、要素の変換に依存しません。 |
"none" | ベクターエフェクトは何も適用されません。 |
"inherit" | 要素の親要素の値が使用されます。 |
vectorEffect 引数が省略された場合、ベクターエフェクト属性は削除されます("none"を適用するのと同等の振る舞いです)。
以下のコードを実行すると、四角形を作成し、それをリサイズします:
C_TEXT($Dom_rect;$Dom_svg)
$Dom_svg:=SVG_New
$Dom_rect:=SVG_New_rect($Dom_svg;10;10;100;100;0;0;"blue";"red")
SVG_SET_STROKE_WIDTH($Dom_rect;2;"px")
// リサイズする
SVG_SET_TRANSFORM_SCALE($Dom_rect;4;1)
デフォルトでは、線の太さは変更されています:
線の太さを変えずにリサイズするためには、SVG_SET_STROKE_VECTOR_EFFECT を追加します:
C_TEXT($Dom_rect;$Dom_svg)
$Dom_svg:=SVG_New
$Dom_rect:=SVG_New_rect($Dom_svg;10;10;100;100;0;0;"blue";"red")
SVG_SET_STROKE_WIDTH($Dom_rect;2;"px")
// リサイズする
SVG_SET_TRANSFORM_SCALE($Dom_rect;4;1)
// non-scalling を設定する
SVG_SET_STROKE_VECTOR_EFFECT($Dom_rect;"non-scaling-stroke")
その結果、線の太さは変更されません:
プロダクト: 4D
テーマ: 属性
初出: 4D v18
SVGコンポーネント ( 4D v20 R7)