• <menu id="w2i4a"></menu>
  • logo VectorDraw Developer Framework使用教程

    文檔首頁>>VectorDraw Developer Framework使用教程>>VDF常見問題整理(二十七):如何創(chuàng)建帶字符串的線型

    VDF常見問題整理(二十七):如何創(chuàng)建帶字符串的線型


         VectorDraw Developer Framework(VDF)是一個用于應用程序可視化的圖形引擎庫。有了VDF提供的功能,您可以輕松地創(chuàng)建、編輯、管理、輸出、輸入和打印2D和3D圖形文件。   

    VectorDraw Developer Framework試用版下載


        點開本篇文章,是否對矢量圖形工具感興趣呢?來看看最新的矢量圖形工具測評吧!點擊此處>>即可直達哦!

    問:

       我是否可以創(chuàng)建一種線型,其中線穿過文本,例如:---------------------我的文本在這里---- -------------------。這種線型應該如何創(chuàng)建?

    答:

        為了使文本不被線段覆蓋,您需要添加一個隱藏的線段,其大小與線型中的文本長度相同或稍大。具體請參見下面的代碼和說明:

    private void button10_Click(object sender, EventArgs e)
    {
        vdDocument thisDocument = vdFramedControl1.BaseControl.ActiveDocument;
        vdLineType lt = thisDocument.LineTypes.Add("MyCustomLineType");
     
        lt = thisDocument.LineTypes.Add("MyCustomLineType");
        lt.Comment = "MyCustomLineType";
     
        lt.Segments.AddItem(new LineTypeSegment(1));
        lt.Segments.AddItem(new LineTypeSegment());
        lt.Segments[1].ShapeText = " Some Text Goes Here ";
        lt.Segments[1].ShapeStyle = thisDocument.TextStyles[0].GrTextStyle;
        lt.Segments[1].ShapeOffsetY = -.125;
        lt.Segments[1].Flag = LineTypeSegment.LineTypeElementType.TTF_TEXT;
        lt.Segments[1].ShapeScale = .25;
     
         // 這是計算文本長度的方法
        vdText txt = new vdText(thisDocument, lt.Segments[1].ShapeText, new gPoint(), lt.Segments[1].ShapeScale); //與文字相同
        txt.Style = thisDocument.TextStyles[0]; //與文字相同
        txt.Update();
        double txtwidth = txt.BoundingBox.Width; 
        txt = null;  //IS NOT NEEDED any more
        
        lt.Segments[1].ShapeOffsetX = txtwidth * 0.1 / 2.0; // 在文字前加5%空格
        
        // 在文本上方添加不可見的段,占文本長度的110%
        lt.Segments.AddItem(new LineTypeSegment(-1.0 * (txtwidth+ 2.0*lt.Segments[1].ShapeOffsetX)));// 在文本之前和之后添加一個空格,使不可見部分變大
        lt.Segments.AddItem(new LineTypeSegment(1));
        lt.Update();
     
        //用于顯示
        vdLine manuallyDrawnPline = new vdLine(thisDocument, new gPoint(), new gPoint(25, 5));
        thisDocument.Model.Entities.AddItem(manuallyDrawnPline);
        manuallyDrawnPline.LineType = lt;
        manuallyDrawnPline.Update();
        manuallyDrawnPline.Invalidate();
     
        thisDocument.CommandAction.Zoom("E", 0, 0);
    }

        對于以上問答,如果您有任何的疑惑都可以在評論區(qū)留言,我們會及時回復。此系列的問答教程我們會持續(xù)更新,如果您感興趣,可以多多關(guān)注本教程。

    相關(guān)資料推薦:


        如果您對想要購買正版授權(quán)VectorDraw Developer Framework(VDF),可以聯(lián)系在線客服>>咨詢相關(guān)問題。

        關(guān)注慧聚IT微信公眾號 ???,了解產(chǎn)品的最新動態(tài)及最新資訊。

    1561953111.jpg

    掃碼咨詢


    添加微信 立即咨詢

    電話咨詢

    客服熱線
    023-68661681

    TOP
    三级成人熟女影院,欧美午夜成人精品视频,亚洲国产成人乱色在线观看,色中色成人论坛 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();