ここは旧式の4DドキュメントWebサイトです。最新のアップデートされたドキュメントを読むには新サイトをご利用下さい→ developer.4d.com

ホーム

 
4D v20 R7
SVG_SET_STROKE_VECTOR_EFFECT

SVG_SET_STROKE_VECTOR_EFFECT 


 

SVG_SET_STROKE_VECTOR_EFFECT ( svgObj {; vectorEffect} ) 
引数   説明
svgObj  SVG_Ref in Reference of SVG element
vectorEffect  文字 in "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
テーマ: 属性

This command can be run in preemptive processes

 
ページの目次 
 
履歴 

初出: 4D v18

 
ARTICLE USAGE

SVGコンポーネント ( 4D v20 R7)