private void toolStripDynamicImage_SelectedIndexChanged(object sender, EventArgs e) { //try { if (resFactory == null) { resFactory = new ResourceFactory(); } switch (this.toolStripDynamicImage.SelectedIndex) { case 0: { imgpath = string.Empty; } break; case 1: { imgpath = (strMediaPath + @"\frameImage\NiHongDeng"); } break; case 2: { imgpath = (strMediaPath + @"\frameImage\Gvitech"); } break; } if (imgpath.Equals(string.Empty)) { resManager.UpdateImage("paizi6", imgStatic); this.axRenderControl1.RefreshImage(dataset, "paizi6"); } else { IImage img = resFactory.CreateImageFromFile(imgpath); img.FrameInterval = frameIntervalTrack.Value; this.Text = "正在转换中,请耐心等待..."; img.ConvertFormat(gviImageFormat.gviImageDDS); resManager.UpdateImage("paizi6", img); this.axRenderControl1.RefreshImage(dataset, "paizi6"); } this.Text = "转换完成"; } //catch (System.Exception ex) //{ // if (ex.GetType().Name.Equals("UnauthorizedAccessException")) // MessageBox.Show("需要标准runtime授权"); // else // MessageBox.Show(ex.Message); // this.Text = "转换失败"; //} }
public static void TestDrawModel(IModelPoint mp, IModel model, List <string> filesPath) { if ((mp != null) && (model != null)) { string str = Application.StartupPath + @"\..\temp"; string str2 = Path.Combine(str, "osg"); string filePath = string.Format(@"{0}\{1}.osg", str2, mp.ModelName); if (!Directory.Exists(str)) { Directory.CreateDirectory(str); } if (!Directory.Exists(str2)) { Directory.CreateDirectory(str2); } IPropertySet images = null; IImage image = null; string key = string.Empty; images = new PropertySetClass(); if (filesPath != null) { foreach (string str5 in filesPath) { if (File.Exists(str5) || Directory.Exists(str5)) { key = Path.GetFileNameWithoutExtension(str5); image = resFactory.CreateImageFromFile(str5); images.SetProperty(key, image); } } } model.WriteFile(filePath, images); IModelPointSymbol symbol = (ModelPointSymbol)Activator.CreateInstance(Type.GetTypeFromCLSID(new Guid("6BCF8C9B-E506-43AE-AD6E-44A41D748431"))); symbol.Color = 0xaaaaaaaa; mp.ModelName = filePath; mp.ModelEnvelope = model.Envelope; IRenderModelPoint item = Ocx.ObjectManager.CreateRenderModelPoint(mp, symbol, Ocx.ProjectTree.RootID); item.MaxVisibleDistance = 500000.0; tmpList.Add(item); Ocx.Camera.LookAtEnvelope(item.Envelope); } }