<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    浪跡天涯
    web報表設計器....
    posts - 61,comments - 71,trackbacks - 0
    ???? /**
    ?????*?畫帶箭頭的線
    ?????*?
    */

    ????
    public ? void ?paintk(GC?g,? int ?x1,? int ?y1,? int ?x2,? int ?y2)? {

    ????????
    double ?H? = ? 10 ;? // 箭頭高度???
    ???????? double ?L? = ? 7 ; // 底邊的一半??
    ???????? int ?x3? = ? 0 ;
    ????????
    int ?y3? = ? 0 ;
    ????????
    int ?x4? = ? 0 ;
    ????????
    int ?y4? = ? 0 ;
    ????????
    double ?awrad? = ?Math.atan(L? / ?H);? // 箭頭角度???
    ???????? double ?arraow_len? = ?Math.sqrt(L? * ?L? + ?H? * ?H); // 箭頭的長度???
    ???????? double []?arrXY_1? = ?rotateVec(x2? - ?x1,?y2? - ?y1,?awrad,? true ,?arraow_len);
    ????????
    double []?arrXY_2? = ?rotateVec(x2? - ?x1,?y2? - ?y1,? - awrad,? true ,?arraow_len);
    ????????
    double ?x_3? = ?x2? - ?arrXY_1[ 0 ];? // (x3,y3)是第一端點???
    ???????? double ?y_3? = ?y2? - ?arrXY_1[ 1 ];
    ????????
    double ?x_4? = ?x2? - ?arrXY_2[ 0 ]; // (x4,y4)是第二端點???
    ???????? double ?y_4? = ?y2? - ?arrXY_2[ 1 ];

    ????????Double?X3?
    = ? new ?Double(x_3);
    ????????x3?
    = ?X3.intValue();
    ????????Double?Y3?
    = ? new ?Double(y_3);
    ????????y3?
    = ?Y3.intValue();
    ????????Double?X4?
    = ? new ?Double(x_4);
    ????????x4?
    = ?X4.intValue();
    ????????Double?Y4?
    = ? new ?Double(y_4);
    ????????y4?
    = ?Y4.intValue();
    ????????
    // g.setColor(SWT.COLOR_WHITE);
    ????????
    // 畫線
    ????????g.drawLine(x1,?y1,?x2,?y2);
    ????????
    // 畫箭頭的一半
    ????????g.drawLine(x2,?y2,?x3,?y3);
    ????????
    // 畫箭頭的另一半
    ????????g.drawLine(x2,?y2,?x4,?y4);

    ????}

    ????
    ????
    /**
    ?????*取得箭頭的繪畫范圍
    ?????
    */


    ????
    public ? double []?rotateVec( int ?px,? int ?py,? double ?ang,? boolean ?isChLen,
    ????????????
    double ?newLen)? {

    ????????
    double ?mathstr[]? = ? new ? double [ 2 ];
    ????????
    // 矢量旋轉函數,參數含義分別是x分量、y分量、旋轉角、是否改變長度、新長度???
    ???????? double ?vx? = ?px? * ?Math.cos(ang)? - ?py? * ?Math.sin(ang);
    ????????
    double ?vy? = ?px? * ?Math.sin(ang)? + ?py? * ?Math.cos(ang);
    ????????
    if ?(isChLen)? {
    ????????????
    double ?d? = ?Math.sqrt(vx? * ?vx? + ?vy? * ?vy);
    ????????????vx?
    = ?vx? / ?d? * ?newLen;
    ????????????vy?
    = ?vy? / ?d? * ?newLen;
    ????????????mathstr[
    0 ]? = ?vx;
    ????????????mathstr[
    1 ]? = ?vy;
    ????????}

    ????????
    return ?mathstr;
    ????}
    posted on 2007-09-21 09:39 JJCEA 閱讀(5292) 評論(4)  編輯  收藏 所屬分類: swt日記

    FeedBack:
    # re: java畫帶箭頭的線
    2007-09-21 10:06 | 千里冰封
    呵呵,有點意思:)  回復  更多評論
      
    # re: java畫帶箭頭的線
    2007-09-24 16:08 | anxite
    public void paintk(GC g, int x1, int y1, int x2, int y2)
    GC g是什么?急用,謝謝!  回復  更多評論
      
    # re: java畫帶箭頭的線
    2007-09-24 18:09 | 我的java生涯
    swt提供了GC來畫圖的
    if (gc == null || gc.isDisposed()) {
    gc = new GC(canvas);
    }  回復  更多評論
      
    # re: java畫帶箭頭的方法
    2008-02-02 22:44 | 安安
    請問這個有全部的原始碼嗎,可否提供參考  回復  更多評論
      

    只有注冊用戶登錄后才能發表評論。


    網站導航:
     
    主站蜘蛛池模板: 激情亚洲一区国产精品| 亚洲香蕉免费有线视频| 成人免费ā片在线观看| 亚洲国产高清视频| 2020久久精品国产免费| 114一级毛片免费| 色妞www精品视频免费看| 亚洲人成色77777| 国产成人免费高清激情明星| 在线观看亚洲电影| 国产精品久久久久影院免费| yellow视频免费看| 亚洲w码欧洲s码免费| 亚洲精品一级无码中文字幕| 69国产精品视频免费| 久久久久亚洲AV片无码| 免费无码一区二区三区蜜桃大| 亚洲乱码在线视频| 色噜噜亚洲精品中文字幕| 999在线视频精品免费播放观看| 爱情岛论坛免费视频| 亚洲中文无码av永久| 亚洲愉拍99热成人精品热久久| 毛片A级毛片免费播放| 在线播放免费人成毛片乱码 | 亚洲午夜久久久影院| 最近高清国语中文在线观看免费| 日本免费A级毛一片| 久久精品国产亚洲AV未满十八| 久久精品a亚洲国产v高清不卡| 亚洲美女在线国产| 日韩在线a视频免费播放| 亚洲AV无码国产剧情| 四虎永久在线精品视频免费观看| 免费国产黄网站在线观看视频| 亚洲人和日本人jizz| 久久亚洲国产精品| 亚洲线精品一区二区三区影音先锋 | 久久噜噜噜久久亚洲va久| 大胆亚洲人体视频| 中文字幕无线码免费人妻|