我使用了Ventana System为Vensim软件提供的一个示例。该示例是C#中的一个桌面应用程序。我想把这个例子带到C#的网页版上。
桌面版本
VensimDLLWrapper.vensim_show_sketch(1, 1, 100, (long)pictureBox_Sketch.Handle);Web版本
VensimDLLWrapper.vensim_show_sketch(1, 1, 100, (long)Image1.???);发布于 2012-11-02 02:20:55
这是我的方法:我创建一个类似于桌面应用程序的PictureBox
PictureBox pictureBox_Sketch = new PictureBox();
pictureBox_Sketch.Name = "pictureBox_Sketch";
pictureBox_Sketch.Size = new System.Drawing.Size(1200, 768);
pictureBox_Sketch.TabIndex = 19;
pictureBox_Sketch.TabStop = false;然后,我把图像放在手柄里。
VensimDLLWrapper.vensim_show_sketch(1, 1, 100, (long)pictureBox_Sketch.Handle);然后,我将图像复制到剪贴板:
VensimDLLWrapper.vensim_tool_command("EXPORT>SK", (long)pictureBox_Sketch.Handle, 0);最后,我将图像保存在磁盘中(很明显,我必须使用Server.Map或其他)
if (PInvoke.OpenClipboard(pictureBox_Sketch.Handle))
{
if (PInvoke.IsClipboardFormatAvailable(14))
{
IntPtr ptr = PInvoke.GetClipboardData(14);
if (!ptr.Equals(new IntPtr(0)))
{
Metafile metafile = new Metafile(ptr, true);
metafile.Save("C:\\ruta\\Images\\ModelGraph.png", System.Drawing.Imaging.ImageFormat.Png);
//HyperLink1.NavigateUrl = "Images\\ModelGraph.png";
// Image1.ImageUrl = "Images\\ModelGraph.emf";
//Set the Image Property of PictureBox
}
}
PInvoke.CloseClipboard();
}https://stackoverflow.com/questions/12654268
复制相似问题