转载:http://blog.sina.com.cn/s/blog_6023833e0100t5t0.html

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using ESRI.ArcGIS.esriSystem;
using ESRI.ArcGIS.Carto;
using ESRI.ArcGIS.Controls;
using ESRI.ArcGIS.SystemUI;
using ESRI.ArcGIS.Geometry;
using ESRI.ArcGIS.Geodatabase;
using ESRI.ArcGIS.DataSourcesFile;
using ESRI.ArcGIS.Display;

namespace lesson3
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

private void Form1_Load(object sender, EventArgs e)
        {
            loadMapDocument();
        }
        //加载地图文档
        private void loadMapDocument()
        {
            System.Windows.Forms.OpenFileDialog openFileDialog;
            openFileDialog = new OpenFileDialog();
            openFileDialog.Title = "打开地图文档";
            openFileDialog.Filter = "map documents(*.mxd)|*.mxd";
            openFileDialog.ShowDialog();
            string filePath = openFileDialog.FileName;
            if (axMapControl1.CheckMxFile(filePath))
            {
                axMapControl1.MousePointer = esriControlsMousePointer.esriPointerHourglass;
                axMapControl1.LoadMxFile(filePath, 0, Type.Missing);
                axMapControl1.MousePointer = esriControlsMousePointer.esriPointerDefault;
            }
            else
            {
                MessageBox.Show(filePath + "不是有效的地图文档");
            }
        }
                //获取颜色对象
        private IRgbColor getRGB(int r, int g, int b)
        {
            IRgbColor pColor;
            pColor = new RgbColorClass();
            pColor.Red = r;
            pColor.Green = g;
            pColor.Blue = b;
            return pColor;
        }
        private IGeoFeatureLayer getGeoLayer(string layerName)
        {
            ILayer layer;
            IGeoFeatureLayer geoFeatureLayer ;
            for (int i = 0; i < this.axMapControl1.LayerCount; i++)
            {
                layer = this.axMapControl1.get_Layer(i);
                if (layer != null && layer.Name == layerName)
                {
                    geoFeatureLayer = layer as IGeoFeatureLayer ;
                    return geoFeatureLayer;
                }
            }
            return null;
        }
        //简单渲染专题图
        private void button1_Click(object sender, EventArgs e)
        {
            //简单填充符号
            ISimpleFillSymbol simpleFillSymbol = new SimpleFillSymbolClass();
            simpleFillSymbol.Style = esriSimpleFillStyle.esriSFSDiagonalCross;
            simpleFillSymbol.Color = getRGB(255, 0, 0);
            //创建边线符号
            ISimpleLineSymbol simpleLineSymbol = new SimpleLineSymbolClass();
            simpleLineSymbol.Style = esriSimpleLineStyle.esriSLSDashDotDot;
            simpleLineSymbol.Color = getRGB(0, 255, 0);
            ISymbol symbol = simpleLineSymbol as ISymbol;
            symbol.ROP2 = esriRasterOpCode.esriROPNotXOrPen;
            simpleFillSymbol.Outline = simpleLineSymbol;

ISimpleRenderer simpleRender =new SimpleRendererClass ();
            simpleRender .Symbol =simpleFillSymbol as ISymbol  ;
            simpleRender.Label ="continent";
            simpleRender.Description ="简单渲染";

IGeoFeatureLayer geoFeatureLayer;
            geoFeatureLayer = getGeoLayer("Continents");
            if (geoFeatureLayer != null)
            {
                geoFeatureLayer.Renderer = simpleRender as IFeatureRenderer ;
            }
            this.axMapControl1.Refresh();
        }
        //创建颜色带
        private IColorRamp CreateAlgorithmicColorRamp(int count )
        {
            //创建一个新AlgorithmicColorRampClass对象
            IAlgorithmicColorRamp algColorRamp = new AlgorithmicColorRampClass();
            IRgbColor fromColor = new RgbColorClass();
            IRgbColor toColor = new RgbColorClass();
            //创建起始颜色对象
            fromColor.Red = 255;
            fromColor.Green = 0;
            fromColor.Blue = 0;
            //创建终止颜色对象          
            toColor.Red = 0;
            toColor.Green = 0;
            toColor.Blue = 255;
            //设置AlgorithmicColorRampClass的起止颜色属性
            algColorRamp.ToColor = fromColor;
            algColorRamp.FromColor = toColor;
            //设置梯度类型
            algColorRamp.Algorithm = esriColorRampAlgorithm.esriCIELabAlgorithm;
            //设置颜色带颜色数量
            algColorRamp.Size = count ;
            //创建颜色带
            bool bture = true;
            algColorRamp.CreateRamp(out bture);
            return algColorRamp;

}
        //分级专题图
        private void button2_Click(object sender, EventArgs e)
        {
            int classCount = 6;
            ITableHistogram tableHistogram;
            IBasicHistogram basicHistogram;
            ITable table;           
            IGeoFeatureLayer geoFeatureLayer;
            geoFeatureLayer = getGeoLayer("Continents");
            ILayer layer = geoFeatureLayer as ILayer;
            table = layer as ITable;
            tableHistogram =new BasicTableHistogramClass ();
             //按照 数值字段分级
            tableHistogram.Table =table ;
            tableHistogram.Field ="sqmi";
            basicHistogram =tableHistogram as IBasicHistogram ;
            object   values;
            object   frequencys;
            //先统计每个值和各个值出现的次数
            basicHistogram.GetHistogram (out values ,out frequencys );
            //创建平均分级对象
            IClassifyGEN classifyGEN =new QuantileClass ();
            //用统计结果进行分级 ,级别数目为classCount
            classifyGEN.Classify (values ,frequencys , ref classCount );
            //获得分级结果,是个 双精度类型数组
            double [] classes;
            classes=classifyGEN.ClassBreaks as double [];

IEnumColors enumColors = CreateAlgorithmicColorRamp(classes.Length ).Colors;
            IColor color;
          
            IClassBreaksRenderer classBreaksRenderer = new ClassBreaksRendererClass();
            classBreaksRenderer.Field = "sqmi";
            classBreaksRenderer.BreakCount = classCount;
            classBreaksRenderer.SortClassesAscending = true;

ISimpleFillSymbol  simpleFillSymbol;
            for (int i = 0; i < classes.Length-1 ; i++)
            {
                color = enumColors.Next();
                simpleFillSymbol = new  SimpleFillSymbolClass ();
                simpleFillSymbol.Color = color;
                simpleFillSymbol.Style = esriSimpleFillStyle.esriSFSSolid;

classBreaksRenderer.set_Symbol(i, simpleFillSymbol as ISymbol);
                classBreaksRenderer.set_Break(i, classes[i]);          
             
            }
         
            if (geoFeatureLayer != null)
            {
                geoFeatureLayer.Renderer = classBreaksRenderer as IFeatureRenderer;
            }
          
            this.axMapControl1.ActiveView.Refresh();        
        }
        //单一值专题图
        private void button3_Click(object sender, EventArgs e)
        {
            IGeoFeatureLayer geoFeatureLayer;
            geoFeatureLayer = getGeoLayer("Continents");
            IUniqueValueRenderer uniqueValueRenderer =new UniqueValueRendererClass ();
            uniqueValueRenderer.FieldCount =1;
            uniqueValueRenderer.set_Field (0,"continent");

//简单填充符号
            ISimpleFillSymbol simpleFillSymbol = new SimpleFillSymbolClass();
            simpleFillSymbol.Style = esriSimpleFillStyle.esriSFSSolid ;

IFeatureCursor featureCursor = geoFeatureLayer.FeatureClass.Search(null, false);
            IFeature feature;
           
            if (featureCursor != null)
            {
                IEnumColors enumColors = CreateAlgorithmicColorRamp(8).Colors;
                int fieldIndex =geoFeatureLayer.FeatureClass.Fields.FindField ("continent");
                for (int i = 0; i <8; i++)
                {
                    feature = featureCursor.NextFeature();
                    string nameValue = feature.get_Value(fieldIndex).ToString ();
                    simpleFillSymbol = new SimpleFillSymbolClass();                  
                    simpleFillSymbol.Color = enumColors.Next();                  
                    uniqueValueRenderer.AddValue(nameValue, "continent", simpleFillSymbol as ISymbol);
                }
            }
           
            geoFeatureLayer.Renderer = uniqueValueRenderer as IFeatureRenderer;
            this.axMapControl1.Refresh();
        }
        //ProportionalSymbolRenderer
        private void button4_Click(object sender, EventArgs e)
        {

IGeoFeatureLayer geoFeatureLayer;
            IFeatureLayer featureLayer ;
            IProportionalSymbolRenderer proportionalSymbolRenderer ;
            ITable table ;
            ICursor cursor;
            IDataStatistics  dataStatistics ;
            IStatisticsResults statisticsResult;
            stdole.IFontDisp  fontDisp;

geoFeatureLayer = getGeoLayer("Continents");
            featureLayer =geoFeatureLayer as IFeatureLayer ;
            table =geoFeatureLayer as ITable ;
            cursor =table.Search (null,true );
            dataStatistics =new DataStatisticsClass ();
            dataStatistics.Cursor =cursor ;
            dataStatistics.Field ="sqmi";
            statisticsResult =dataStatistics.Statistics ;
            if (statisticsResult !=null)
            {
                IFillSymbol  fillSymbol =new SimpleFillSymbolClass ();
                fillSymbol.Color =getRGB (0,255,0);
                ICharacterMarkerSymbol characterMarkerSymbol=new CharacterMarkerSymbolClass ();
                fontDisp =new stdole.StdFontClass () as stdole.IFontDisp ;
                fontDisp.Name ="arial";
                fontDisp.Size =20;
                characterMarkerSymbol.Font =fontDisp ;
                characterMarkerSymbol.CharacterIndex =90;
                characterMarkerSymbol.Color =getRGB (255,0,0);
                characterMarkerSymbol.Size =8;
                proportionalSymbolRenderer=new ProportionalSymbolRendererClass ();
                proportionalSymbolRenderer.ValueUnit =esriUnits.esriUnknownUnits;
                proportionalSymbolRenderer .Field ="sqmi";
                proportionalSymbolRenderer.FlanneryCompensation =false ;
                proportionalSymbolRenderer.MinDataValue =statisticsResult.Minimum ;
                proportionalSymbolRenderer.MaxDataValue =statisticsResult.Maximum ;
                proportionalSymbolRenderer.BackgroundSymbol =fillSymbol ;
                proportionalSymbolRenderer.MinSymbol =characterMarkerSymbol as ISymbol ;
                proportionalSymbolRenderer.LegendSymbolCount =10;
                proportionalSymbolRenderer.CreateLegendSymbols ();
                geoFeatureLayer.Renderer =proportionalSymbolRenderer as IFeatureRenderer ;
            }
            this.axMapControl1.Refresh();
        }
        //BarChartSymbol
        private void button5_Click(object sender, EventArgs e)
        {
            IGeoFeatureLayer geoFeatureLayer ;
            IFeatureLayer featureLayer ;
            ITable table ;
            ICursor cursor;
            IRowBuffer rowBuffer;
            //设置渲染要素
            string field1="sqmi";
            string field2="sqkm";
            //获取渲染图层
            geoFeatureLayer = getGeoLayer("Continents");
            featureLayer =geoFeatureLayer as IFeatureLayer ;
            table =featureLayer as ITable ;
            geoFeatureLayer.ScaleSymbols =true;
            IChartRenderer chartRenderer =new ChartRendererClass ();
            IRendererFields rendererFields=chartRenderer as IRendererFields ;
            rendererFields.AddField (field1 ,field1 );
            rendererFields.AddField (field2,field2);
            int [] fieldIndexs=new int [2];
            fieldIndexs [0]=table.FindField (field1);
            fieldIndexs [1]=table.FindField (field2);
            //获取要素最大值
            double fieldValue =0.0,maxValue=0.0;
            cursor = table.Search(null, true);
            rowBuffer =cursor .NextRow ();
            while (rowBuffer!=null  )
            {
                for (int i =0;i<2;i++)
                {
                    fieldValue =double .Parse (rowBuffer.get_Value (fieldIndexs[i]).ToString ()) ;
                    if (fieldValue >maxValue )
                    {
                        maxValue =fieldValue ;
                    }
                }
                rowBuffer =cursor.NextRow ();
            }
            //创建水平排列符号
            IBarChartSymbol barChartSymbol =new BarChartSymbolClass ();
            barChartSymbol.Width =10;
            IMarkerSymbol markerSymbol =barChartSymbol as IMarkerSymbol ;
            markerSymbol.Size =50;
            IChartSymbol chartSymbol=barChartSymbol as IChartSymbol ;
            chartSymbol.MaxValue =maxValue ;
            //添加渲染符号
            ISymbolArray symbolArray =barChartSymbol as ISymbolArray ;
            IFillSymbol fillSymbol =new SimpleFillSymbolClass ();
            fillSymbol.Color =getRGB (255,0,0);
            symbolArray.AddSymbol (fillSymbol as ISymbol );
            fillSymbol =new SimpleFillSymbolClass ();
            fillSymbol .Color =getRGB (0,255,0);
            symbolArray .AddSymbol (fillSymbol as ISymbol );
            //设置柱状图符号
            chartRenderer.ChartSymbol =barChartSymbol as IChartSymbol ;
            fillSymbol =new SimpleFillSymbolClass ();
            fillSymbol.Color =getRGB (0,0,255);
            chartRenderer.BaseSymbol =fillSymbol as ISymbol ;
            chartRenderer.UseOverposter =false ;
            //创建图例
            chartRenderer.CreateLegend ();
            geoFeatureLayer.Renderer =chartRenderer as IFeatureRenderer ;
            this.axMapControl1.Refresh();
        }
        //StackedChartSymbol
        private void button6_Click(object sender, EventArgs e)
        {
            IGeoFeatureLayer geoFeatureLayer;
            IFeatureLayer featureLayer;
            ITable table;
            ICursor cursor;
            IRowBuffer rowBuffer;
            //设置渲染要素
            string field1 = "sqmi";
            string field2 = "sqkm";
            //获取渲染图层
            geoFeatureLayer = getGeoLayer("Continents");
            featureLayer = geoFeatureLayer as IFeatureLayer;
            table = featureLayer as ITable;
            geoFeatureLayer.ScaleSymbols = true;
            IChartRenderer chartRenderer = new ChartRendererClass();
            IRendererFields rendererFields = chartRenderer as IRendererFields;
            rendererFields.AddField(field1, field1);
            rendererFields.AddField(field2, field2);
            int[] fieldIndexs = new int[2];
            fieldIndexs[0] = table.FindField(field1);
            fieldIndexs[1] = table.FindField(field2);
            //获取要素最大值
            double fieldValue = 0.0, maxValue = 0.0;
            cursor = table.Search(null, true);
            rowBuffer = cursor.NextRow();
            while (rowBuffer != null)
            {
                for (int i = 0; i < 2; i++)
                {
                    fieldValue = double.Parse(rowBuffer.get_Value(fieldIndexs[i]).ToString());
                    if (fieldValue > maxValue)
                    {
                        maxValue = fieldValue;
                    }
                }
                rowBuffer = cursor.NextRow();
            }
            //创建累积排列符号
            IStackedChartSymbol stackedChartSymbol = new StackedChartSymbolClass();
          
            stackedChartSymbol.Width = 10;
            IMarkerSymbol markerSymbol = stackedChartSymbol as IMarkerSymbol;
            markerSymbol.Size = 50;
            IChartSymbol chartSymbol = stackedChartSymbol as IChartSymbol;
            chartSymbol.MaxValue = maxValue;
            //添加渲染符号
            ISymbolArray symbolArray = stackedChartSymbol as ISymbolArray;
            IFillSymbol fillSymbol = new SimpleFillSymbolClass();
            fillSymbol.Color = getRGB(255, 0, 0);
            symbolArray.AddSymbol(fillSymbol as ISymbol);
            fillSymbol = new SimpleFillSymbolClass();
            fillSymbol.Color = getRGB(0, 255, 0);
            symbolArray.AddSymbol(fillSymbol as ISymbol);
            //设置柱状图符号
            chartRenderer.ChartSymbol = stackedChartSymbol as IChartSymbol;
            fillSymbol = new SimpleFillSymbolClass();
            fillSymbol.Color = getRGB(0, 0, 255);
            chartRenderer.BaseSymbol = fillSymbol as ISymbol;
            chartRenderer.UseOverposter = false;
            //创建图例
            chartRenderer.CreateLegend();
            geoFeatureLayer.Renderer = chartRenderer as IFeatureRenderer;
            this.axMapControl1.Refresh();
        }
        //PieChartRenderer
        private void button7_Click(object sender, EventArgs e)
        {
            IGeoFeatureLayer geoFeatureLayer;
            IFeatureLayer featureLayer;
            ITable table;
            ICursor cursor;
            IRowBuffer rowBuffer;
            //设置饼图的要素
            string field1 = "sqmi";
            string field2 = "sqkm";
            //获取渲染图层
            geoFeatureLayer = getGeoLayer("Continents");
            featureLayer = geoFeatureLayer as IFeatureLayer;
            table = featureLayer as ITable;
            geoFeatureLayer.ScaleSymbols = true;
            IChartRenderer chartRenderer = new ChartRendererClass();
            IPieChartRenderer pieChartRenderer =chartRenderer as IPieChartRenderer ;
            IRendererFields rendererFields = chartRenderer as IRendererFields;
            rendererFields.AddField(field1, field1);
            rendererFields.AddField(field2, field2);
            int[] fieldIndexs = new int[2];
            fieldIndexs[0] = table.FindField(field1);
            fieldIndexs[1] = table.FindField(field2);
            //获取渲染要素的最大值
            double fieldValue = 0.0, maxValue = 0.0;
            cursor = table.Search(null, true);
            rowBuffer = cursor.NextRow();
            while (rowBuffer != null)
            {
                for (int i = 0; i < 2; i++)
                {
                    fieldValue = double.Parse(rowBuffer.get_Value(fieldIndexs[i]).ToString());
                    if (fieldValue > maxValue)
                    {
                        maxValue = fieldValue;
                    }
                }
                rowBuffer = cursor.NextRow();
            }
            //设置饼图符号
            IPieChartSymbol pieChartSymbol =new PieChartSymbolClass ();
            pieChartSymbol.Clockwise =true ;
            pieChartSymbol.UseOutline =true ;
            IChartSymbol chartSymbol =pieChartSymbol as IChartSymbol ;
            chartSymbol.MaxValue =maxValue ;
            ILineSymbol lineSymbol =new SimpleLineSymbolClass ();
            lineSymbol.Color =getRGB (255,0,0);
            lineSymbol.Width =2;
            pieChartSymbol.Outline =lineSymbol ;
            IMarkerSymbol markerSymbol=pieChartSymbol as IMarkerSymbol  ;
            markerSymbol.Size =30;
            //添加渲染符号
            ISymbolArray symbolArray=pieChartSymbol as ISymbolArray ;
            IFillSymbol fillSymbol =new SimpleFillSymbolClass ();
            fillSymbol.Color =getRGB (0,255,0);
            symbolArray.AddSymbol (fillSymbol as ISymbol  );
            fillSymbol =new SimpleFillSymbolClass ();
            fillSymbol .Color=getRGB  (0,0,255);
            symbolArray.AddSymbol (fillSymbol as ISymbol );
            chartRenderer.ChartSymbol =pieChartSymbol as IChartSymbol  ;
            fillSymbol=new SimpleFillSymbolClass ();
            fillSymbol.Color =getRGB (100,100,100);
            chartRenderer.BaseSymbol =fillSymbol as ISymbol ;
            chartRenderer.UseOverposter =false ;
            //创建图例
            chartRenderer.CreateLegend ();
            geoFeatureLayer.Renderer =chartRenderer as IFeatureRenderer ;
            this.axMapControl1.Refresh ();

}
        //DotDensityFillSymbol
        private void button8_Click(object sender, EventArgs e)
        {
            IGeoFeatureLayer geoFeatureLayer ;
            IDotDensityFillSymbol dotDensityFillSymbol;
            IDotDensityRenderer dotDensityRenderer ;
            //获取渲染图层
            geoFeatureLayer = getGeoLayer("Continents");
            dotDensityRenderer=new DotDensityRendererClass ();
            IRendererFields rendererFields =dotDensityRenderer as IRendererFields ;
            //设置渲染字段
            string field1="sqmi";
            rendererFields.AddField (field1 ,field1 );
            //设置填充颜色和背景色
            dotDensityFillSymbol =new DotDensityFillSymbolClass ();
            dotDensityFillSymbol.DotSize =3;
            dotDensityFillSymbol.Color =getRGB (255,0,0);
            dotDensityFillSymbol.BackgroundColor =getRGB (0,255,0);
            //设置渲染符号
            ISymbolArray symbolArray =dotDensityFillSymbol as ISymbolArray ;
            ISimpleMarkerSymbol simpleMarkerSymbol =new SimpleMarkerSymbolClass ();
            simpleMarkerSymbol.Style =esriSimpleMarkerStyle.esriSMSCircle ;
            simpleMarkerSymbol.Size =2;
            simpleMarkerSymbol.Color =getRGB (0,0,255);
            symbolArray.AddSymbol (simpleMarkerSymbol as ISymbol );
            dotDensityRenderer.DotDensitySymbol =dotDensityFillSymbol ;
            //设置渲染密度
            dotDensityRenderer.DotValue =50000;
            //创建图例
            dotDensityRenderer.CreateLegend ();
            geoFeatureLayer .Renderer =dotDensityRenderer as IFeatureRenderer ;
            this.axMapControl1.Refresh ();
        }
    }
}

c#+arcAE对图层进行各种渲染操作的更多相关文章

  1. AE开发中栅格图层实现分级渲染

    GP工具IDW执行后,生成的栅格图层是黑白二色,需要手动进行分级渲染,似乎不是所有栅格图层都可以进行分级渲染,注意异常处理.注意ARCMAP中是有颜色的,无需自己处理. IRasterClassify ...

  2. 图片下载、渲染操作 小例子 看多FutureTask

    并发执行下载图片操作 import java.util.List; import java.util.concurrent.Callable; import java.util.concurrent. ...

  3. ArcGIS Desktop和Engine中对点要素图层Graduated Symbols渲染的实现 Rotation Symbol (转)

    摘要         ArcGIS中,对于要素图层的渲染,支持按照要素字段的值渲染要素的大小,其中Graduated Symbols可以对大小进行分级渲染.在个人开发系统的过程中,也可以用来美化数据显 ...

  4. 浮点型/小数/栅格图层转为整数型arcgis操作

    有时候会遇到将32位栅格数据提取属性表的操作,但是一般此类数据都是浮点型,是无法计算得到属性表的.因此我们可以利用数据管理工具下的: 复制栅格工具,在最下面选择16位即可,看自己数据情况选择signe ...

  5. vue学习笔记:数据渲染操作

    {{xxx}} 基本的插值表达式 插值表达式 使用两个大括号 {{ data中定义的数据名 }} 可以将数据插入到指定的位置 这种写法不仅可以显示data属性里定义的值,也可以书写js中的表达式,可以 ...

  6. CAD画三维图怎么渲染?一分钟教你快速操作

    从事过CAD相关工作的都知道,CAD绘制的方式有二维平面图以及三维图形,三维图形,画三维图方式也是比较简单的.那当然三维图画完后一般还需要进行渲染操作,步骤也是比较简洁的.下面就来给大家操作一下CAD ...

  7. iOS 离屏渲染的研究

    GPU渲染机制: CPU 计算好显示内容提交到 GPU,GPU 渲染完成后将渲染结果放入帧缓冲区,随后视频控制器会按照 VSync 信号逐行读取帧缓冲区的数据,经过可能的数模转换传递给显示器显示. G ...

  8. iOS离屏渲染简书

    更详细地址https://zsisme.gitbooks.io/ios-/content/chapter15/offscreen-rendering.html(包含了核心动画) GPU渲染机制: CP ...

  9. 离屏渲染学习笔记 /iOS圆角性能问题

    离屏渲染学习笔记 一.概念理解 OpenGL中,GPU屏幕渲染有以下两种方式: On-Screen Rendering 意为当前屏幕渲染,指的是GPU的渲染操作是在当前用于显示的屏幕缓冲区中进行. O ...

随机推荐

  1. 六,mysql优化——小知识点

    1,选择适当的字段类型,特别是主键 选择字段的一般原则是保小不保大,能占用字节小的字段就不用大字段.比如主键,建议使用自增类型,这样节省空间,空间就是效率!按4个字节和按32个字节定位一条记录,谁快谁 ...

  2. 实现一个算法,寻找字符串中出现次数最少的、并且首次出现位置最前的字符 如"cbaacfdeaebb",符合要求的是"f",因为他只出现了一次(次数最少)。并且比其他只出现一次的字符(如"d")首次出现的位置最靠前。

    实现一个算法,寻找字符串中出现次数最少的.并且首次出现位置最前的字符如"cbaacfdeaebb",符合要求的是"f",因为他只出现了一次(次数最少).并且比其 ...

  3. Xshell连接不上Linux

    用Xshell连接Linux的时候报错了: Connecting to 192.168.79.147:22...Could not connect to '192.168.79.147' (port ...

  4. 【JavaScript】 js立即执行函数

    ( function(){…} )()和( function (){…} () )是两种javascript立即执行函数的常见写法,一般理解是一个括号包裹匿名函数,再在后面加个括号调用函数,最后达到函 ...

  5. 当需要给<span>标签设宽度

    span{ display: inline-block; width: 100px; } 当需要实现横排单行文字,用到span并且想设宽度的时候, 用以上css来实现.

  6. python-xlwt给excel添加样式

    #coding:utf-8import osimport time        import xlwt filename="test_xlwt.xls"if os.path.ex ...

  7. python3模块: json & pickle

    概念: 序列化(Serialization): 将对象的状态信息转换为可以存储或可以通过网络传输的过程,传输的格式可以是JSON,XML等.反序列化就是从存储区域(JSON,XML)读取反序列化对象的 ...

  8. 【qboi冲刺NOIP2017复赛试题4】 全套题目+题解+程序

    作为一个好人(验题人),我给大家奉上下这套题的题解,并且预祝大家这套题能够AK: T1题面:Alice现在有n根木棍,他们长度为1,2,3....n,Bob想把某一些木棍去掉,使得Alice剩下的木棍 ...

  9. 判断easyUI tree 节点复选框是否被选中的方法。将选中的节点高亮显示的方法

    在datagrid tree中如何判断某个节点的复选框是否被选中? 我们可以通过HTML结构去分析: 1.节点未选中前 2.节点选中后 所以节点被选中前和选中后,html中的class类是用区分的. ...

  10. h5博彩webapp项目实例|h5棋牌游戏|h5博彩app案例

    html5实现的博彩webapp.h5棋牌app实例,运用h5+css3+zepto+jQ+swiper+layer等技术进行布控开发,750px最大宽度适配手机端设备,采用flex+rem布局样式. ...