彩票走势图

VDF常见问题整理(二十九):如何保存和加载图形的OsnapMode值?

翻译|使用教程|编辑:况鱼杰|2019-10-25 17:07:59.400|阅读 254 次

概述:本系列教程整理了VectorDraw Developer Framework(VDF)最常见问题,教程整理的很齐全,非常适合新手学习,本文章将会介绍如何保存和加载图形的OsnapMode值。

# 慧都年终大促·界面/图表报表/文档/IDE等千款热门软控件火热促销中 >>

相关链接:

    VectorDraw Developer Framework(VDF)是一个用于应用程序可视化的图形引擎库。有了VDF提供的功能,您可以轻松地创建、编辑、管理、输出、输入和打印2D和3D图形文件。   

VectorDraw Developer Framework试用版下载


    点开本篇文章,是否对矢量图形工具感兴趣呢?来看看最新的矢量图形工具测评吧!点击此处>>即可直达哦!

问:

    如何在图形中保存和加载OsnapMode值?我需要保存osnap模式的值,然后在打开图形时读取该值并将其重新设置。

答:

    通过将xproperty添加到包含OSNAPMode值的0层,您可以轻松地做到这一点,无法删除第0层,因此该xproperty也将不会被其他应用程序删除。

请参见下面的示例代码:

private void button3_Click(object sender, EventArgs e)
{
    vdDocument doc = vdFramedControl1.BaseControl.ActiveDocument; doc.New();
    vdCircle cir = new vdCircle(doc, new gPoint(2, 2), 2);
    doc.Model.Entities.AddItem(cir); // JUST add a simple object
 
    doc.osnapMode = OsnapMode.TANG | OsnapMode.CEN | OsnapMode.END ; // set the osnap mode
    string str_Osnap = doc.osnapMode.ToString();
    MessageBox.Show(str_Osnap);
    vdLayer lay0 =doc.Layers.FindName("0"); // always exist in the document and cannot be deleted
 
    VectorDraw.Professional.vdObjects.vdXProperty xprop = new VectorDraw.Professional.vdObjects.vdXProperty();
    xprop.Name = "str_Osnap_Mode";// and add it to layer 0 as xproperty
    xprop.PropValue = str_Osnap;
    lay0.XProperties.AddItem(xprop);
 
    doc.SaveAs(@"c:\test.vdcl");
}
 
private void button4_Click(object sender, EventArgs e)
{
    vdDocument doc = vdFramedControl1.BaseControl.ActiveDocument; doc.New();
    doc.OnAfterOpenDocument += new vdDocument.AfterOpenDocument(doc_OnAfterOpenDocument);
    doc.Open(@"c:\test.vdcl");
}
 
void doc_OnAfterOpenDocument(object sender)
{
    vdDocument doc = vdFramedControl1.BaseControl.ActiveDocument; 
    vdLayer lay0 = doc.Layers.FindName("0");
    VectorDraw.Professional.vdObjects.vdXProperty xprop = lay0.XProperties.FindName("str_Osnap_Mode");
 
    if (xprop != null)
    {
        doc.osnapMode = OsnapMode.NONE;
        string value = xprop.PropValue as string;
        if (value.Contains("END")) doc.osnapMode = doc.osnapMode | OsnapMode.END;
        if (value.Contains("MID")) doc.osnapMode = doc.osnapMode | OsnapMode.MID;
        if (value.Contains("CEN")) doc.osnapMode = doc.osnapMode | OsnapMode.CEN;
        if (value.Contains("INS")) doc.osnapMode = doc.osnapMode | OsnapMode.INS;
        if (value.Contains("PER")) doc.osnapMode = doc.osnapMode | OsnapMode.PER;
        if (value.Contains("NEA")) doc.osnapMode = doc.osnapMode | OsnapMode.NEA;
        if (value.Contains("INTERS")) doc.osnapMode = doc.osnapMode | OsnapMode.INTERS;
        if (value.Contains("NODE")) doc.osnapMode = doc.osnapMode | OsnapMode.NODE;
        if (value.Contains("QUA")) doc.osnapMode = doc.osnapMode | OsnapMode.QUA;
        if (value.Contains("TANG")) doc.osnapMode = doc.osnapMode | OsnapMode.TANG;
        if (value.Contains("APPARENTINT")) doc.osnapMode = doc.osnapMode | OsnapMode.APPARENTINT;
        if (value.Contains("EXTENSION")) doc.osnapMode = doc.osnapMode | OsnapMode.EXTENSION;
        if (value.Contains("ALL")) doc.osnapMode = doc.osnapMode | OsnapMode.ALL;
        if (value.Contains("DISABLE")) doc.osnapMode = doc.osnapMode | OsnapMode.DISABLE;
    }
}

    对于以上问答,如果您有任何的疑惑都可以在评论区留言,我们会及时回复。此系列的问答教程我们会持续更新,如果您感兴趣,可以多多关注本教程。

热门文章推荐:


    如果您对想要购买正版授权VectorDraw Developer Framework(VDF),可以联系咨询相关问题。

    关注慧聚IT微信公众号 ☟☟☟,了解产品的最新动态及最新资讯。

1561953111.jpg


标签:

本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@cahobeh.cn

文章转载自:

为你推荐

  • 推荐视频
  • 推荐活动
  • 推荐产品
  • 推荐文章
  • 慧都慧问
扫码咨询


添加微信 立即咨询

电话咨询

客服热线
023-68661681

TOP