zoukankan      html  css  js  c++  java
  • TOC图例符号转换到ListView

    TOC图例符号转换到ListView

     //符号转换
    Bitmap PreviewSymbol(IStyleGalleryClass pStyleGalleryClass, object galleryItem, int imgWidth, int imgHeight)
            {
                Bitmap bitmap = new Bitmap(imgWidth, imgHeight);
                Graphics graphics = Graphics.FromImage(bitmap);
                tagRECT rect = new tagRECT();
                rect.right = bitmap.Width;
                rect.bottom = bitmap.Height;
                System.IntPtr hdc = graphics.GetHdc();
                pStyleGalleryClass.Preview(galleryItem, hdc.ToInt32(), ref rect);
                graphics.ReleaseHdc(hdc);
                graphics.Dispose();
                return bitmap;
            }

    //遍历渲染,逐个转换符号
    ILayer pLayer = axMapControl1.get_Layer(0);
                IGeoFeatureLayer pGeoFeatureLayer = pLayer as IGeoFeatureLayer;
                IFeatureRenderer pFeatureRenderer = pGeoFeatureLayer.Renderer;
                if(pFeatureRenderer is IUniqueValueRenderer)
                 {
                    IStyleGalleryClass pStyleGalleryClass = new FillSymbolStyleGalleryClassClass();//我这里用面测试的,改造时需要动态的使用
                    IUniqueValueRenderer pUniqueValueRenderer = pFeatureRenderer as IUniqueValueRenderer;
                    ISymbol pSymbol = null;
                    ListViewItem listViewItem;
                    Image image;
                    string value;
                    imageList1.Images.Clear();
                    listView1.Items.Clear();
                    for (int i = 0; i < pUniqueValueRenderer.ValueCount; i++)
                    {
                        listViewItem = new ListViewItem();
                        value = pUniqueValueRenderer.get_Value(i);
                        pSymbol = pUniqueValueRenderer.get_Symbol(value);
                        image = PreviewSymbol(pStyleGalleryClass, pSymbol, imageList1.ImageSize.Width, imageList1.ImageSize.Height);
                        imageList1.Images.Add(value,image);
                        listViewItem.ImageKey = value;
                        listViewItem.Text = value;
                        listViewItem.SubItems.Add(value);
                        listView1.Items.Add(listViewItem);
                    }
                }
                else
                {
                    MessageBox.Show("不是楼主想要的东东。");
                }

  • 相关阅读:
    活动安排
    中国剩余定理
    欧拉回路
    单词游戏
    Ant Trip
    John's Trip
    太鼓达人
    相框
    原始生物
    Blockade
  • 原文地址:https://www.cnblogs.com/lauer0246/p/1312369.html
Copyright © 2011-2022 走看看