paper.rect(0, 0, settings.width, settings.height, settings.radius);
角の丸い素敵な長方形を作成します。角が1つだけ丸い長方形を作ることはできますか?
paper.rect(0, 0, settings.width, settings.height, settings.radius);
角の丸い素敵な長方形を作成します。角が1つだけ丸い長方形を作ることはできますか?
Raphael JS を使用する場合:
Raphael.fn.roundedRectangle = function (x, y, w, h, r1, r2, r3, r4){
var array = [];
array = array.concat(["M",x,r1+y, "Q",x,y, x+r1,y]); //A
array = array.concat(["L",x+w-r2,y, "Q",x+w,y, x+w,y+r2]); //B
array = array.concat(["L",x+w,y+h-r3, "Q",x+w,y+h, x+w-r3,y+h]); //C
array = array.concat(["L",x+r4,y+h, "Q",x,y+h, x,y+h-r4, "Z"]); //D
return this.path(array);
};
右上隅のみを丸めた長方形を作成するには
var paper = Raphael("canvas", 840, 480);
paper.roundedRectangle(10, 10, 80, 80, 0, 20, 0, 0);
ソースとオンラインの例: http://www.remy-mellet.com/blog/179-draw-rectangle-with-123-or-4-rounded-corner/
rx
丸みを帯びたコーナー機能は、基になるSVGと属性に直接マップされ、ry
長方形全体に適用されるため、単一のコーナーに設定するだけの可能性はありません。
このブログ投稿では、基本的に丸めたくないコーナーをカバーするSVGのアプローチについて説明しています。彼の例は現在オフラインになっているように見えますが、このアプローチはSVGにリバースエンジニアリングするのはかなり簡単なはずです。
別のアプローチは、長方形のオブジェクトの代わりにパスを使用して、自分で輪郭全体を描くことです。構文は少しわかりにくいですが、何が起こっているのかを理解すれば簡単です。紹介については、 JakobJenkovのSVGパスチュートリアルをお試しください。