| 4D v20SVG_SET_STROKE_VECTOR_EFFECT | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 
 | 
    4D v20
 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)
	
	
 コメントを追加
コメントを追加