转载: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. request.getParameter("name")获取参数为null和空字符串的区别

    1.获取到的值为空字符串 当url里有name属性,但是没有值的时候,后台用request.getParameter("name")获取到的是空字符串 2.获取到的值为null 当 ...

  2. JavaScript里的Date 对象属性及对象方法--实现简单的日历

    上网搜索"js 日历插件"就会出来各种效果的功能丰富的日历插件,很多都可以下载源码,然后根据各自的需求对源码进行修改就可以直接用了. 但今天讲的不是如何使用这些插件,而是讲如何实现 ...

  3. POJ 1129

    #include<iostream> #include<stdio.h> #include<string> #define MAXN 60 using namesp ...

  4. OpenGL11-绘制汉字最高效方法(使用Freetype)(代码已更新)

    最新版本,之前的版本有些文件没有打包 视频教程请关注 http://edu.csdn.net/lecturer/lecturer_detail?lecturer_id=440 OpenGL本身并没有绘 ...

  5. js函数技巧

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  6. Mac在终端用命令装载dmg文件

    今天碰到个问题,下载了一个dmg文件,然后双击/右键安装,一点反应都没有.一开始以为是电脑的缘故,重启,依旧没有反应,然后想到用终端装载试试. 打开终端,输入命令: hdiutil attach we ...

  7. ibatis中的cdata和xml中cdata的含义

    ibatis的cdata用于sqlmap文件中,二sqlmap本身就是xml文件,即解析cdata的方法与xml文件的cdata相同. 简单来说:cdata就是用来表明纯文本的,如果没有这个的话 &l ...

  8. vuex中怎么把‘库’中的状态对象赋值给内部对象(三种方法)

    一.通过computed的计算属性直接赋值 import store from '@/store/store' export default{ name: 'count', data(){ retur ...

  9. firefox native extension -- har export trigger

    这两天想学习下如何在运行自动化脚本时去capture http traffic,google看到一篇博客介绍用browser mob proxy或者firefox+firebug+netexport, ...

  10. Spring IOC(DI)

    软件152 余建强 1 什么是IOC IOC—Inversion of Control,即“控制反转”,不是什么技术,而是一种设计思想.在Java开发中,Ioc意味着将你设计好的对象交给容器控制,而不 ...