誰かがこれらの属性の実際の例を教えてもらえますか:stroke-dasharray、stroke-linecap、stroke-linejoin私はそれらを使ってみましたが、それらの値のsentext構造を完全には理解していません。
stroke-linecap
butt
| round
| square
| inherit
stroke-linejoin
miter
| round
| bevel
| inherit
stroke-dasharray
"100 20 0 20"
Phrogzの答えはプレーンなSVGに最適ですが、この質問にはRaphaelというタグも付けられています。ここでは、状況は似ていますが、わずかに異なります。 Raphaelにはストローク設定の良い例があまりないので、ここに完全なライブデモンストレーションがあります。
_stroke-dasharray
_(点線と破線)、_stroke-linejoin
_(ストロークコーナースタイル)、および_stroke-linecap
_(パスストロークキャップスタイル)をRaphael.js。
Raphaelの点線/破線には.attr({'stroke-dasharray': option})
を使用し、これらのオプションの1つを使用します(数字なし、純粋なSVGとは異なり:
_["", "-", ".", "-.", "-..", ". ", "- ", "--", "- .", "--.", "--.."]
_
Raphaelの丸みを帯びた、面取りされた、または鋭い(マイター)コーナーには.attr({'stroke-linejoin': option})
を使用します(SVGと同じですが継承):
_["bevel", "round", "miter"]
_
ストローク幅とマイター(シャープ)結合が鈍くなる角度に基づいてカットオフポイントを制御する.attr({'stroke-miterlimit': decimal})
を設定することもできます。 SVGストロークと同じ-miterlimitなので、SVGドキュメントが適用されます 。これのブラウザ間のバリエーションは、上記のjsfiddleで確認できます(例:Chrome&Windows上のFirefox)
.attr({'stroke-linecap': option})
を使用して、ストロークされたラファエルパスの端のキャップを制御します。
_["butt", "square", "round"]
_
この回答はstroke-dasharray
のみを対象としており、Phrogzによる回答の補足であることに注意してください。
Raphaelは、user568458が述べているように、stroke-dasharray
を設定する自由をあまり提供していません。他のsvgクリエーターと同じように機能する必要があるため、raphael.js
を少し調整して可能な限りすべてに対応しました。 stroke-dasharray
値。
addDashes = function (o, value, params) {
var nvalue = dasharray[Str(value).toLowerCase()];
if (nvalue!==undefined) {
var width = o.attrs["stroke-width"] || "1",
butt = {round: width, square: width, butt: 0}[o.attrs["stroke-linecap"] || params["stroke-linecap"]] || 0,
dashes = [],
i = nvalue.length;
while (i--) {
dashes[i] = nvalue[i] * width + ((i % 2) ? 1 : -1) * butt;
}
$(o.node, {"stroke-dasharray": dashes.join(",")});
}else{
$(o.node, {"stroke-dasharray": Str(value).toLowerCase()});
}
}
dasharray
オブジェクトが定義されているファイルのすぐ下にある前のコードを置き換えます。
Raphaelラインオブジェクトに標準のSVGの方法で破線を適用したい場合、これは私にとってはうまくいきました。一方、ラファエルのようにピリオドとハイフンを使用することはできませんでした。
myLine.attr({stroke:'green'}).node.setAttribute('stroke-dasharray', '10,10');
パラメータ(10,10
この例では)は長さ、ギャップであり、必要なだけ繰り返すことができます。お気に入り 5, 5, 1, 5
はドット付きの短いダッシュになります。
参照: https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/stroke-dasharray