Ejemplo n.º 1
0
        public void DisplayAvi(ISmartSession session, string wndName, string[] fnames, string templateName,
                               string subIdentify, out string outputFname)
        {
            string satellite = null;
            string sensor    = null;

            outputFname = GetOutputGxdFileName(fnames, subIdentify, out satellite, out sensor);
            bool isOk = false;

            FileIsSupportable(fnames);
            ILayoutTemplate temp = GetTemplateByArg(templateName);

            if (temp == null)
            {
                return;
            }
            ILayoutViewer viewer = new LayoutViewer(wndName);

            ApplyLayoutTemplate(viewer, ref temp); //在这里应用模板,初始化数据框的dataProvider
            TryApplyVars(temp, subIdentify, satellite, sensor);
            if (viewer.LayoutHost == null)
            {
                return;
            }
            ICanvas canvas = GetCanvasByTemplate(temp);

            if (canvas == null)
            {
                return;
            }
            Size dataSize = Size.Empty;

            GeoDo.RSS.Core.DrawEngine.CoordEnvelope viewPrjEvp = null;
            GeoDo.RSS.Core.DF.CoordEnvelope         viewGeoEvp = null;
            float     resolution = 0;
            int       maxSize    = GetBorderSizeByTemplate(viewer.LayoutHost.LayoutRuntime, temp);
            IAVILayer aviLyr     = AVILayerBuilder.CreatAVILayer(fnames, canvas, maxSize, out dataSize, out viewPrjEvp, out viewGeoEvp, out resolution);

            if (aviLyr == null)
            {
                return;
            }
            aviLyr.OnTicked += new EventHandler(RefreshDataFrame);
            if (_isCustom)
            {
                TryApplyCustom(canvas, dataSize, subIdentify, viewPrjEvp, viewGeoEvp, resolution);
            }
            isOk = TryAddAviLayerToCanvas(canvas, aviLyr, viewPrjEvp);
            if (isOk)
            {
                session.SmartWindowManager.DisplayWindow(viewer);
                _host.ToSuitedSize(_host.LayoutRuntime.Layout);
                TryExportToGIF(session, subIdentify, outputFname);
            }
        }
Ejemplo n.º 2
0
 private void button2_Click(object sender, EventArgs e)
 {
     _host.ToSuitedSize();
     numericUpDown1.Value = (int)(_host.LayoutRuntime.Scale * 100);
 }