4D v16

SVG_SET_MARKER

ホーム

 
4D v16
SVG_SET_MARKER

SVG_SET_MARKER 


 

SVG_SET_MARKER ( svgObject ; id {; position} ) 
引数   説明
svgObject  SVG_Ref in SVG 要素の参照
id  文字 in マーカー名
position  文字 in マーカーの位置

説明   

SVG_SET_MARKER コマンドを使用すると、svgObject 引数で参照しているオブジェクトにマーカーを関連付けたり、既存のマーカーを削除したりすることができます。svgObject 参照が 'line'、'path'、'polyline' もしくは 'polygon' 要素への参照ではない場合、エラーが生成されます。ある属性が既に存在する場合、その値は上書きされます。

id 引数には SVG_Define_marker コマンドで指定したマーカー要素名を渡します。存在しない名前を渡した場合、エラーが生成されます。
既存のマーカーを削除するためには、 id p引数に"none" または空の文字列を渡します。

任意のposition 引数を使用すると、オブジェクトにに対してのマーカーの位置を設定することができます。必要であれば、異なるマーカーをパスの始点、終点、またはどんなピークにも設定することができます。その際に使用できる値は以下の通りです:

  • start を渡すと、マーカーはパスの始点に置かれます。
  • end  を渡すと、マーカーはパスの終点に置かれます。
  • middle を渡すと、マーカーはパスの始点と終点以外の全てのピークに置かれます。
  • all を渡すと、マーカーはパスの全てのピークに置かれます。
    この引数が省略された場合、マーカーはパスの終点に置かれます。

矢印を描画する場合を考えます:

 $SVG:=SVG_New
  `矢印を設定します
 $arrow:=SVG_Define_marker($SVG;"arrow";0;5;4;3;-1)
 SVG_SET_VIEWBOX($arrow;0;0;10;10)
 $path:=SVG_New_path($arrow;0;0)
 SVG_SET_FILL_BRUSH($path;"black")
 SVG_PATH_LINE_TO($path;10;5)
 SVG_PATH_LINE_TO($path;0;10)
 SVG_PATH_CLOSE($path)
 
 $line:=SVG_New_path($SVG;100;75)
 SVG_SET_STROKE_WIDTH($line;10)
 SVG_PATH_LINE_TO($line;200;75)
 SVG_PATH_LINE_TO($line;250;125)
  `パスの終わりに矢じりを置く
 SVG_SET_MARKER($line;" arrow ")

始まりと終わりに異なるマーカーがあるダイヤグラムを描画する場合を考えます:

 $SVG:=SVG_New
 SVG_SET_DEFAULT_BRUSHES("red";"red")
 
  `点をマークするための円を設定
 $point:=SVG_Define_marker($SVG;"pointMarker";2;2;3;3)
 SVG_SET_VIEWBOX($point;0;0;4;4)
 SVG_New_circle($point;2;2;1)
 
  `開始地点の四角を設定
 $start:=SVG_Define_marker($SVG;"startMarker";1;1;2;2)
 SVG_New_rect($start;0;0;2;2)
 
  `終了地点の三角形を設定
 $end:=SVG_Define_marker($SVG;"endMarker";5;5;3;3;60)
 SVG_SET_VIEWBOX($end;0;0;10;10)
 SVG_New_regular_polygon($end;10;3)
 
 ARRAY LONGINT($tX;0)
 ARRAY LONGINT($tY;0)
  `X軸
 For($Lon_i;0;200;20)
    APPEND TO ARRAY($tX;$Lon_i+10)
 End for
  `データ
 APPEND TO ARRAY($tY;100)
 APPEND TO ARRAY($tY;100)
 APPEND TO ARRAY($tY;30)
 APPEND TO ARRAY($tY;30)
 APPEND TO ARRAY($tY;80)
 APPEND TO ARRAY($tY;60)
 APPEND TO ARRAY($tY;10)
 APPEND TO ARRAY($tY;40)
 APPEND TO ARRAY($tY;50)
 APPEND TO ARRAY($tY;70)
 $line:=SVG_New_polyline_by_arrays($SVG;->$tX;->$tY;"red";"none";5)
  `マーカーを設置:
 SVG_SET_MARKER($line;"startMarker";"start")
 SVG_SET_MARKER($line;"pointMarker";"middle")
 SVG_SET_MARKER($line;"endMarker";"end")



参照 

SVG_Define_marker

 
プロパティ 

プロダクト: 4D
テーマ: 属性
番号: 65931

 
履歴 

初出: Composant 4D SVG v11.3
変更: 4D v13

 
ARTICLE USAGE

SVGコンポーネント ( 4D v16)