首页 / 浏览问题 / 桌面GIS / 问题详情
点符号批量导出
19EXP 2017年03月27日
怎么将点符号导出成各种格式的图片

1个回答

您好!首先您需要点击风格设置>点符号>更多符号,出现点符号选择器窗体,然后选择文件>导出>导出为图片,选择保存目录即可将点符号导出为图片,导出的图片格式支持JPG,JPEG,BMP和png类型。

不过目前桌面产品还并不能支持批量导出,给您带来的不便敬请谅解。

1,695EXP 2017年03月27日
用c#程序自己写一个。。。   需要用到什么方法
直接循环符号库,获取到单个的符号,用Draw()方法在Bitmap 位图上绘制出来,最后保存为本地图片就行了,主要就是需要去循环符号库资源
所需要用到的主要代码:
    Resources resources = workspace.Resources;
    SymbolLibrary symbolLibrary = resources.LineLibrary;
    获取符号库根组,取出根组的第一个符号(批量导出的话就使用循环语句去循环符号库资源)
    SymbolGroup symbolGroup = symbolLibrary.RootGroup;
    Symbol symbol = symbolGroup[0];
    将该符号对象在指定 Bitmap 的给定位置上绘制出来
    System.Drawing.Bitmap bitMap = new System.Drawing.Bitmap(400, 300);
    保存到本地;
    bitMap .Save("存放路径",System.Drawing.Imaging.ImageFormat.Gif);

图片是这样的 没有居中也没有铺满   应该怎么设置的

代码

 try
            {
                Bitmap bitmap = new Bitmap(width, height);
               
                if (symbol.Type == SymbolType.Marker)
                {
                    geometry.Style.MarkerSymbolID = symbol.ID;
                    geometry.Style.MarkerSize = new Size2D(width/2, height/2);
                    geometry.Style.FillOpaqueRate = 100;
                    Toolkit.Draw(geometry, m_workspace.Resources, Graphics.FromImage(bitmap));
                }
                else
                {
                    symbol.Draw(bitmap, geometry);
                }

                pictureBox.Image = bitmap;
               bitmap.Save("C:\\Users\\SEELE\\Desktop\\1.jpg", System.Drawing.Imaging.ImageFormat.Jpeg);
            }
            catch (Exception ex)
            {
                Trace.WriteLine(ex.Message);
            }
geometry.Style.MarkerSize数值设大了。。。
...