彩票走势图

logo VectorDraw Developer Framework使用教程
文档彩票走势图>>VectorDraw Developer Framework使用教程>>VDF常见问题整理(五十):如何在VectorDraw Developer Framework中导出文件?

VDF常见问题整理(五十):如何在VectorDraw Developer Framework中导出文件?


VectorDraw Developer Framework(VDF)是一个用于应用程序可视化的图形引擎库。有了VDF提供的功能,您可以轻松地创建、编辑、管理、输出、输入和打印2D和3D图形文件。该库还支持许多矢量和栅格输入和输出格式,包括本地PDF和SVG导出。

点击立即下载VectorDraw Developer Framework


本文将会介绍如何在VectorDraw Developer Framework中导出文件,将会主要介绍如何导出具有背景色的SVG文件和在txt文件中如何导出xyz坐标。

如何导出具有背景色的SVG文件?

问:

是否可以导出背景颜色不同于白色的SVG文件?

答:

这可以通过一些代码行来指示VDF组件在OnDrawBackground事件中使用调色板的背景色,例如:

// the form conatins a vdFramedControl and a Button

bool isOnSVGSave = false; // use this global boolean in the form and make it true just before saving the SVG and then again to false after save is finished

private void button1_Click(object sender, EventArgs e)
{
    vdDocument doc = vdFramedControl.BaseControl.ActiveDocument;

    doc.Open(@"C:\test\simple1.vdml"); // open a test file
    doc.Palette.Background = Color.LightYellow; // change the background color
    doc.Palette.Forground = Color.DarkSlateGray; // and the foreground color

.....
.....

    isOnSVGSave = true; //set this flag to true before saving SVG
    doc.OnDrawBackground += new vdDocument.DrawBackgroundEventHandler(doc_OnDrawBackground); // enable the event
    doc.SaveAs(@"c:\test\svg1.svg"); // save the SVG
    doc.OnDrawBackground -= new vdDocument.DrawBackgroundEventHandler(doc_OnDrawBackground); // disable the event
    isOnSVGSave = false;//set this flag back to false after saving SVG
}

void doc_OnDrawBackground(object sender, vdRender render, ref bool cancel)
{
    if (isOnSVGSave && render!=null && render is RenderFormats.SvgRender) // check that is on "save" and render is SvgRender
    {
        cancel = true; // you need to pass this as tru
        render.Clear(vdFramedControl.BaseControl.ActiveDocument.Palette.Background); // clear the render and use the Palette’s Background color!
    }
}   
在txt文件中如何导出xyz坐标?


问:

如何将图形中线和折线的x,y,z数据导出到txt文件中?

答:

VDF无法自动执行此功能,但是从加载到VDF组件中的任何图形中导出此txt文件非常容易。请参见下面的代码:

private void button1_Click(object sender, EventArgs e)
{
    vdDocument doc = vdFramedControl.BaseControl.ActiveDocument;
    doc.New();
    doc.Open(@"c:\test\MyModel Layout_1.0.dxf"); 

    using (StreamWriter writer = new StreamWriter(doc.FileName+".txt")) //export c:\test\MyModel Layout_1.0.dxf.txt file containing the points of lines and polylines only
    {
        foreach (vdFigure item in doc.Model.Entities)
        {
            if (item != null && item is vdLine)
            {
                writer.WriteLine("vdLine " + (item as vdLine).StartPoint.ToString() + " " + (item as vdLine).EndPoint.ToString());
            }
            if (item != null && item is vdPolyline)
            {
                writer.Write("vdPolyline ");
                foreach (Vertex item2 in (item as vdPolyline).VertexList)
                {
                    writer.Write(item2.AsgPoint().ToString() + " ");
                }
                writer.WriteLine(" ");
            }
        }
    }
}
您所需要做的就是循环文档中的所有对象(线,折线等),获取它们的x,y,z值,然后使用StreamWriter将它们写入txt文件中。


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

热门文章推荐:

=======================================================

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

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

慧聚IT


扫码咨询


添加微信 立即咨询

电话咨询

客服热线
023-68661681

TOP