我試圖在畫布中重現CSS3邊框半徑。將CSS3邊框半徑設置爲HTML5 Canvas
繪製圓角矩形很容易,但在CSS中,每個邊框的值可能很高。
例如:
HTML
<div class="normal_radius"></div>
<div class="high_radius"></div>
<div class="high2_radius"></div>
CSS
div { height:50px;width:50px;position:absolute;top:10px; }
.normal_radius {
border: 1px solid black;
border-radius: 5px 5px 10px 15px;
left: 10px;
}
.high_radius {
border: 1px solid red;
border-radius: 5000px 500px 100px 150px;
left: 80px;
}
.high2_radius {
border: 1px solid blue;
border-radius: 2500px 250px 50px 75px;
left: 160px;
}
這裏一個jsfiddle
黑色的,普通邊框半徑值,我可以重現。 紅色的邊界半徑值很高,我不知道該如何重現。 而藍色,高值除以2,紅色的結果相同。
我的問題很簡單,如何在畫布中重現紅色和藍色?
此致敬禮。
我認爲你必須使用路徑方法來繪製你自己的曲線。 https://developer.mozilla.org/en-US/docs/Canvas_tutorial/Drawing_shapes向下滾動到「moveTo」和「Bezier和二次曲線」 – Mic
只是一個問題:爲什麼在你的border-radius中使用這些巨大的值CSS當'border-radius:100%10%0 0;'給你同樣的效果嗎?http://jsfiddle.net/fAJ9t/66/ – Ana
嗨,謝謝你的回答,但我知道繪製圓角矩形的方法,如果用戶輸入高值,我希望算法/表單可以繪製圓角矩形。 – kran