ArcGIS开发模式silverlight
- 格式:pdf
- 大小:2.54 MB
- 文档页数:66
ArcGIS API for Silverlight地图保存为PDF和图片在使用ArcGIS API for Silverlight进行地图展示应用的时候,在客户端经常需要将地图保存为PDF或图片(png/jpg等)。
在做保存的时候实际上都是将地图写入到位图像素中,然后在保存为PDF或图片。
这样在Silverlight 的SDK中,提供了一个叫WritableBitmapImage的对象,使用该对象,可以很方便地把我们应用程序中的UIElement渲染到该位图对象上,并提供读取该对象所包含像素的接口。
一、保存为PDF文档在保存为PDF文档的时候需要第三方的类库文件“silverPDF”,silverPDF是Silverlight库,它使开发人员能够在客户端上创建PDF文件更加容易。
silverPDF 是基于两个开源的项目:PdfSharp()和iTextSharp()。
下载这个类库文件,然后加入到Silverlight项目工程的引用中,这样就可以使用“PdfSharp.Pdf”和“PdfSharp.Drawing”这两个命名空间,在VS项目中就可以使用,如下代码:PdfDocument document = new PdfDocument();PdfPage page = document.AddPage();XImage img = XImage.FromStream(_stream);if (img.PointWidth > img.PointHeight)page.Orientation = ndscape;elsepage.Orientation = PdfSharp.PageOrientation.Portrait;document.Pages[0].Width = XUnit.FromPoint(img.PointWidth);document.Pages[0].Height = XUnit.FromPoint(img.PointHeight);XGraphics gfx = XGraphics.FromPdfPage(page);gfx.DrawImage(img, 0, 0, img.PointWidth, img.PointHeight);document.Save(_streamOutPDF);document.Close();document = null;_stream.Close();_stream = null;_streamOutPDF = null;private void SaveMapToPDF_Click(object sender, RoutedEventArgs e){SaveFileDialog saveFileDialog = new SaveFileDialog();saveFileDialog.Filter = "PDF file format|*.pdf";saveFileDialog.DefaultExt = ".pdf";if (saveFileDialog.ShowDialog() == true){Stream pdfstream = saveFileDialog.OpenFile();try{PDFExporterControls.PDFExporter pdfExporter = newPDFExporterControls.PDFExporter();//pdfExporter.SetParent();pdfExporter.SetOutputStream(pdfstream);pdfExporter.SetMap(myMap);pdfExporter.DoExport();//MessageBox.Show(string.Format("PDF is exported and saved in: {0}", saveFileDialog.SafeFileName));}catch (Exception ex){MessageBox.Show(string.Format("Error creating PDF document: {0}", ex.Message));}}}通过silverPDF将地图保存为PDF文档,如下图:下载silverPdf类库文件:/以及源码文件:/Downloads.ashx二、保存为图片大致的使用过程如下:1、添加两个辅助类EditableImage和PngEncoder,详细见附件里的代码2、在截取事件里创建WritableBitmapImage,这里只需要把ArcGIS的Map控件对象传入即可,如果需要对生成的图片进行放大或平移,可以创建一个Transform对象,并传给构建方法的第二个参数。
基于MVC模式和Silverlight技术的WebGIS开发【摘要】随着网络技术的发展,WebGIS已逐渐成为地理信息系统研究的热点。
本文针对目前WebGIS结构模式上存在的不足,将MVC设计模式和Silverlight技术引入WebGIS开发。
该解决方案充分发挥了MVC这一先进的WebGIS设计模式的优点,具有层次清晰、相对独立和维护方便的特点,同时利用Silverlight技术丰富的交互性和多媒体处理能力,丰富了系统界面,增强了用户体验,减轻了服务器端的压力。
因此,本文对研究和设计基于MVC和Silverlight的WebGIS 具有一定的参考意义。
但是,该解决方案存在系统结构复杂、运行效率不高和调试难度大等缺点,需要在进一步的研究开发中不断改进和完善。
【关键词】MVC;Silverlight;WebGIS1 引言网络技术的迅猛发展,为GIS理论及其技术研究开辟了新的领域,并为GIS提供了一种崭新而又非常有效的地理信息载体。
Web技术和GIS技术相结合,最为激动人心的产物就是WebGIS(万维网地理信息系统)。
作为分布式地理信息系统的一种重要表现形式,WebGIS无论是在理论研究,还是在应用方面都还处于快速发展阶段。
MVC模式是一个经典的软件设计模式,它有效地将视图和逻辑分开,成功地实现了数据和表示分离。
Silverlight是一种跨浏览器、跨平台的.NET Framework实现,用于为Web 生成和提供下一代媒体体验和丰富交互式的应用程序。
本文以Silverlight技术为基础,采用MVC设计模式,提出了一种WebGIS开发的可行性方案。
2 MVC设计模式MVC ( Model-View-Controller)设计模式是20世纪80年代为编程语言Smalltalk-80发明的一种软件设计模式,至今己被广泛使用。
它是许多交互和界面系统的构成基础,Microsoft的MFC基础类也遵循了MVC的思想。