c#+arcAE对图层进行各种渲染操作
转载: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对图层进行各种渲染操作的更多相关文章
- AE开发中栅格图层实现分级渲染
GP工具IDW执行后,生成的栅格图层是黑白二色,需要手动进行分级渲染,似乎不是所有栅格图层都可以进行分级渲染,注意异常处理.注意ARCMAP中是有颜色的,无需自己处理. IRasterClassify ...
- 图片下载、渲染操作 小例子 看多FutureTask
并发执行下载图片操作 import java.util.List; import java.util.concurrent.Callable; import java.util.concurrent. ...
- ArcGIS Desktop和Engine中对点要素图层Graduated Symbols渲染的实现 Rotation Symbol (转)
摘要 ArcGIS中,对于要素图层的渲染,支持按照要素字段的值渲染要素的大小,其中Graduated Symbols可以对大小进行分级渲染.在个人开发系统的过程中,也可以用来美化数据显 ...
- 浮点型/小数/栅格图层转为整数型arcgis操作
有时候会遇到将32位栅格数据提取属性表的操作,但是一般此类数据都是浮点型,是无法计算得到属性表的.因此我们可以利用数据管理工具下的: 复制栅格工具,在最下面选择16位即可,看自己数据情况选择signe ...
- vue学习笔记:数据渲染操作
{{xxx}} 基本的插值表达式 插值表达式 使用两个大括号 {{ data中定义的数据名 }} 可以将数据插入到指定的位置 这种写法不仅可以显示data属性里定义的值,也可以书写js中的表达式,可以 ...
- CAD画三维图怎么渲染?一分钟教你快速操作
从事过CAD相关工作的都知道,CAD绘制的方式有二维平面图以及三维图形,三维图形,画三维图方式也是比较简单的.那当然三维图画完后一般还需要进行渲染操作,步骤也是比较简洁的.下面就来给大家操作一下CAD ...
- iOS 离屏渲染的研究
GPU渲染机制: CPU 计算好显示内容提交到 GPU,GPU 渲染完成后将渲染结果放入帧缓冲区,随后视频控制器会按照 VSync 信号逐行读取帧缓冲区的数据,经过可能的数模转换传递给显示器显示. G ...
- iOS离屏渲染简书
更详细地址https://zsisme.gitbooks.io/ios-/content/chapter15/offscreen-rendering.html(包含了核心动画) GPU渲染机制: CP ...
- 离屏渲染学习笔记 /iOS圆角性能问题
离屏渲染学习笔记 一.概念理解 OpenGL中,GPU屏幕渲染有以下两种方式: On-Screen Rendering 意为当前屏幕渲染,指的是GPU的渲染操作是在当前用于显示的屏幕缓冲区中进行. O ...
随机推荐
- 六,mysql优化——小知识点
1,选择适当的字段类型,特别是主键 选择字段的一般原则是保小不保大,能占用字节小的字段就不用大字段.比如主键,建议使用自增类型,这样节省空间,空间就是效率!按4个字节和按32个字节定位一条记录,谁快谁 ...
- 实现一个算法,寻找字符串中出现次数最少的、并且首次出现位置最前的字符 如"cbaacfdeaebb",符合要求的是"f",因为他只出现了一次(次数最少)。并且比其他只出现一次的字符(如"d")首次出现的位置最靠前。
实现一个算法,寻找字符串中出现次数最少的.并且首次出现位置最前的字符如"cbaacfdeaebb",符合要求的是"f",因为他只出现了一次(次数最少).并且比其 ...
- Xshell连接不上Linux
用Xshell连接Linux的时候报错了: Connecting to 192.168.79.147:22...Could not connect to '192.168.79.147' (port ...
- 【JavaScript】 js立即执行函数
( function(){…} )()和( function (){…} () )是两种javascript立即执行函数的常见写法,一般理解是一个括号包裹匿名函数,再在后面加个括号调用函数,最后达到函 ...
- 当需要给<span>标签设宽度
span{ display: inline-block; width: 100px; } 当需要实现横排单行文字,用到span并且想设宽度的时候, 用以上css来实现.
- python-xlwt给excel添加样式
#coding:utf-8import osimport time import xlwt filename="test_xlwt.xls"if os.path.ex ...
- python3模块: json & pickle
概念: 序列化(Serialization): 将对象的状态信息转换为可以存储或可以通过网络传输的过程,传输的格式可以是JSON,XML等.反序列化就是从存储区域(JSON,XML)读取反序列化对象的 ...
- 【qboi冲刺NOIP2017复赛试题4】 全套题目+题解+程序
作为一个好人(验题人),我给大家奉上下这套题的题解,并且预祝大家这套题能够AK: T1题面:Alice现在有n根木棍,他们长度为1,2,3....n,Bob想把某一些木棍去掉,使得Alice剩下的木棍 ...
- 判断easyUI tree 节点复选框是否被选中的方法。将选中的节点高亮显示的方法
在datagrid tree中如何判断某个节点的复选框是否被选中? 我们可以通过HTML结构去分析: 1.节点未选中前 2.节点选中后 所以节点被选中前和选中后,html中的class类是用区分的. ...
- h5博彩webapp项目实例|h5棋牌游戏|h5博彩app案例
html5实现的博彩webapp.h5棋牌app实例,运用h5+css3+zepto+jQ+swiper+layer等技术进行布控开发,750px最大宽度适配手机端设备,采用flex+rem布局样式. ...