<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 閱讀(5306) 評論(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 | 安安
    請問這個有全部的原始碼嗎,可否提供參考  回復  更多評論
      

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


    網站導航:
     
    主站蜘蛛池模板: 亚洲专区一路线二| 亚洲精品成人区在线观看| 亚洲人成网7777777国产| 亚洲mv国产精品mv日本mv| 综合偷自拍亚洲乱中文字幕| 女人隐私秘视频黄www免费| 999国内精品永久免费观看| 国产亚洲成归v人片在线观看| 亚洲男人都懂得羞羞网站| 爱情岛论坛免费视频| 日韩精品极品视频在线观看免费| 在线观看免费为成年视频| 久久精品国产亚洲综合色| xxxxx做受大片在线观看免费| 四虎永久在线精品免费影视| 亚洲日本一线产区和二线产区对比| 57pao国产成视频免费播放| 亚洲a一级免费视频| 色多多www视频在线观看免费| 韩国二级毛片免费播放| 亚洲中文无码永久免| 成人奭片免费观看| 国产精品高清视亚洲一区二区| 噼里啪啦电影在线观看免费高清 | 亚洲色精品vr一区二区三区| 一二三区免费视频| 亚洲乱码中文字幕久久孕妇黑人| j8又粗又长又硬又爽免费视频| 久久久久亚洲av毛片大| 中国内地毛片免费高清| 亚洲成人激情在线| 一个人免费播放在线视频看片| 成年人在线免费看视频| 亚洲砖码砖专无区2023| 成全影视免费观看大全二| 激情无码亚洲一区二区三区 | 亚洲AV永久无码区成人网站| 成人免费毛片内射美女APP| 亚洲国产乱码最新视频| 日本高清免费网站| www永久免费视频|