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

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


    網站導航:
     
    主站蜘蛛池模板: 国产亚洲精午夜久久久久久| 免费又黄又爽的视频| 亚洲乱码日产一区三区| 曰批全过程免费视频免费看| 国产精品va无码免费麻豆| 亚洲精品美女久久久久久久| 精品久久久久国产免费| 亚洲精品伊人久久久久| 国产情侣激情在线视频免费看| 亚洲男人的天堂在线| 18禁网站免费无遮挡无码中文 | 精品国产亚洲一区二区三区| 你懂的在线免费观看| 国产亚洲美女精品久久久久狼| 日韩插啊免费视频在线观看 | 成人午夜18免费看| 校园亚洲春色另类小说合集| 免费在线观看一级毛片| 好猛好深好爽好硬免费视频| 亚洲国产精品久久久久婷婷老年| 18女人腿打开无遮掩免费| 亚洲熟妇丰满xxxxx| 亚洲av无码不卡私人影院| 大地资源中文在线观看免费版| 免费国产在线精品一区| 久久久久亚洲AV成人网人人网站 | 美女无遮挡免费视频网站| 中文字幕不卡亚洲| 最近最好最新2019中文字幕免费| 成人区精品一区二区不卡亚洲| 国产成人无码区免费A∨视频网站 国产成人涩涩涩视频在线观看免费 | 黄床大片30分钟免费看| 亚洲综合无码AV一区二区 | 亚洲av无码片vr一区二区三区| 亚洲高清无码在线观看| 亚洲免费在线播放| 国产亚洲精品资源在线26u| 日韩插啊免费视频在线观看 | 亚洲精品无码久久久影院相关影片 | 啦啦啦中文在线观看电视剧免费版| 黄色免费网址在线观看|