1

変更イベントで、キャンバスを楕円形で描画しようとしていますが、このキャンバスを楕円形で描画するためのキャンバスの適切なプロパティを取得していません。コードで次のプロパティを設定しました。次のコードを参照してください。css でこれを試しました。完璧な出力を得ていますが、キャンバスをpng画像として変換しようとすると、キャンバスの形状が画像に変換されないため、このようにしたいのです。

$("#decalshap").change(function() {
         alert("oval");
         var shap = $(this).val();
     if(shap=="oval")
        {
    canvas.set({
    height:314,
    width:500,       
    borderColor: 'red',
    borderRadius: 314.5/157.25,
    border:2,
    });  
 }

回答をいただければ幸いです。

4

1 に答える 1

1

これにはclipToプロパティが必要です。このコードを使用して、キャンバスに楕円を描画します//スクリプト

 var w;
 var h;
 var ctx = canvas.getContext('2d');
 w=canvas.width / 4;
 h=canvas.height / 2.4;
 canvas.clipTo = function(ctx) {
 ctx.save();
 ctx.scale(2, 1.2);
 ctx.arc(w, h, 90, 0, 2 * Math.PI, true);
 ctx.stroke();
 ctx.restore();
 //canvas.renderAll();
}

ここにフィドルのデモがあります

于 2013-09-30T07:40:48.047 に答える