2

私はstackoverflowのオンとオフを検索してきましたが、答えが見つからなかったので、ここに行きます...

バスのカスタム SVG イメージ パス (以下を参照) があり、適切に描画されており、ヘッドライトだけでなく、必要に応じて透明にしたい部分を「切り取っています」。http://www.w3.org/TR/SVG/paths.html#PathDataの SVG パス データ ドキュメントを調べたところ、何か不足しているに違いありません。何が塗りつぶされ、何が透明マスクまたは非塗りつぶし領域の一部であるかを識別する方法 (パス データ内、またはパス データ内ではない可能性があります) がわかりません。これが私が取り組んでいるものです。

var busSvg = {
    // Bus body
    // 282 wide... 322 wide with the sides added
    top : 'c-4,-20,-18,-30,-38,-38 c-20,-8,-68,-18,-113,-19 c-35,1,-83,11,-113,19 c-20,8,-34,10,-38,38',
    left : ' l-20,150 v170',
    bottom : ' h26 v25 c0,30,45,30,45,0 v-25 h200 v25 c0,30,45,30,45,0 v-25 h26',
    right : ' v-170 l-20,-150z',
    // Marquee
    marquee : 'm-60,10 h-182 c-20,0,-20,-25,0,-25 h182 c20,0,20,25,0,25z',
    // Windshield
    windshield : 'm-220,150 c-11,0,-14,-8,-12,-16 l12,-85 c2,-10,5,-17,18,-17 h220 c13,0,17,7,18,17 l12,85, c1,8,-1,16,-12,16 h-235z',
    // Tires
    tire_left : 'm15,100 c0,30,45,30,45,0 c0,-30,-45,-30,-45,0',
    tire_right : 'm180,0 c0,30,45,30,45,0 c0,-30,-45,-30,-45,0',
};

var busIcon = {
    path: 'M0,-100 '+busSvg['top']+busSvg['left']+busSvg['bottom']+busSvg['right']+busSvg['marquee']+busSvg['windshield']+busSvg['tire_left']+busSvg['tire_right'],
    fillColor: "red",
    fillOpacity: 1,
    scale: .3, //.05,
    strokeColor: "black",
    strokeWeight: .5
};
4

1 に答える 1

1

fill-ruleは、形状のどの部分が内側か外側かを決定します。

于 2012-10-29T16:15:11.350 に答える