2012-05-10 60 views
1

我正在寻找一种方法来从控制台应用程序(或NT服务)内生成图形并将其导出到位图。 这是一个后端进程,因此图形从不显示。只是保存到文件。 需要完全线程安全,因为我的控制台将多次并行执行此操作。C#控制台应用程序将图形生成为位图

第三方组件是好的,但免费是更好:d

感谢

回答

0

一般来说,我们喜欢你试一下,并问这样的问题,当你遇到麻烦。

也就是说,假设你想自己绘制图表(即不使用预先制作的图表来),我得看看Bitmap class和图形类,特别是Graphics.FromImage。位图是图像在内存中的表示,Graphics类为您提供了绘制它的方法。

1

如果您对GDI +很熟悉,您可以在内存位图上绘制任何想要的内容并将其保存到文件中。只要你没有引用同一个文件或在多个线程中传递相同的源数据引用,你应该没问题。下面是如何在程序上生成位图,你可以在一个控制台应用程序包,Windows服务,网络服务等:

Image bmp = new Bitmap(intWidth, intHeight); 
    Graphics g = Graphics.FromImage(bmp); 
    Rectangle r = new Rectangle(0, 0, intWidth, intHeight); 

    g.DrawEllipse(Pens.Red, g.VisibleClipBounds); 

    bmp.Save(strFileNameWithPath); 

至于生成图形而言,这将在很大程度上取决于一个简短的例子你的数学技能有多好,你的源数据结构如何,以及你想要制作什么类型的图表。那里肯定有图书馆已经这样做了(Telerik想到了),但我是一个“自己推出”的编码器。 :)

相关问题