3

私は wPaint プラグインを使用しており、さらにいくつかの機能を追加しようとしています。私が必要とするのは、「矢印」で終わる線です。考えられることはすべて試しましたが、矢印の半分しか取得できません (<----- を想像してみてください。ただし、頭は下または上にしか伸びず、両方の方向には伸びません。)

線を描画する関数は次のとおりです(半矢印付き):

  drawArrowMove: function(e, _self)
  {
        var xo = _self.canvasTempLeftOriginal;
        var yo = _self.canvasTempTopOriginal;

        if(e.pageX < xo) { e.x = e.x + e.w; e.w = e.w * -1}
        if(e.pageY < yo) { e.y = e.y + e.h; e.h = e.h * -1}

        _self.ctxTemp.lineJoin = "round";
        _self.ctxTemp.beginPath();
        _self.ctxTemp.moveTo(e.x, e.y);
        _self.ctxTemp.lineTo(e.x + e.w, e.y + e.h);

        _self.ctxTemp.closePath();
        _self.ctxTemp.moveTo(e.x, e.y);

        _self.ctxTemp.lineTo(15,10);                   
        _self.ctxTemp.stroke();
  }

ヘルプ/アイデア/ヒントは役に立ちます。

ありがとう。

4

5 に答える 5

5

これは垂直線ではうまくいきません。試す

var line=new Line(50,50,50,275)

于 2013-08-02T16:39:37.247 に答える
4

user1707810コメントと組み合わせた markE の回答の追加として:

(開始/終了ラジアン) の両方のブロック:

 - ((this.x2 > this.x1)?-90:90)*Math.PI/180;

に変更する必要があります:

 - ((this.x2 >= this.x1)?-90:90)*Math.PI/180;
于 2014-03-28T11:45:05.437 に答える