• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
  • 如何在指定矩形中旋轉顯示文字

    發表于:2007-07-14來源:作者:點擊數: 標簽:
    徐景周 /////////////////////////////////////////////////////// //說明: //在矩形框中旋轉方式顯示文字,jingzhou xu //參數: //pDC:DC指針 //str:顯示文字 //rect:顯示范圍 //angle:旋轉角度 //nOptions:ExtTextOut()中相應設置ETO_CLIPPED 和 ETO_OPA
    徐景周

    ///////////////////////////////////////////////////////
    //說明:
    //  在矩形框中旋轉方式顯示文字,jingzhou xu
    //參數:    
    //  pDC:      DC指針
    //  str:      顯示文字
    //  rect:      顯示范圍
    //  angle:      旋轉角度
    //   nOptions:   ExtTextOut()中相應設置<ETO_CLIPPED 和 ETO_OPAQUE>
    ///////////////////////////////////////////////////////
    void DrawRotatedText(CDC* pDC, const CString str, CRect rect,
                         double angle, UINT nOptions)
    {
       //按比例轉換角度值
       double pi = 3.141592654;
       double radian = pi * 2 / 360 * angle;

       //獲取顯示文字中心點
       CSize TextSize = pDC->GetTextExtent(str);
       CPoint center;
       center.x = TextSize.cx / 2;
       center.y = TextSize.cy / 2;

       //計算顯示文字新的中心點
       CPoint rcenter;
       rcenter.x = long(cos(radian) * center.x - sin(radian) * center.y);
       rcenter.y = long(sin(radian) * center.x + cos(radian) * center.y);

       //繪制文字
       pDC->SetTextAlign(TA_BASELINE);
       pDC->SetBkMode(TRANSPARENT);
       pDC->ExtTextOut(rect.left + rect.Width() / 2 - rcenter.x,
                       rect.top + rect.Height() / 2 + rcenter.y,
                       nOptions, rect, str, NULL);
    }

    用法:
       DrawRotatedText (pDC,”VC知識庫”,CRect(100,100,300,300),15, ETO_CLIPPED);

    原文轉自:http://www.kjueaiud.com

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>