符号化Symbol(符号)体系(转载)
? 轉(zhuǎn)自:http://blog.sina.com.cn/s/blog_4ce8fd7c0100h4lt.html
ArcGIS Engine9.3為開發(fā)人員提供了32種符號(hào),主要分為三大類符號(hào)MarkerSymbol(點(diǎn)符號(hào))、 LineSymbol(線符號(hào))和FillSymbol(填充符號(hào))。此外還有兩種特殊類型的符號(hào):一種是TextSymbol用于文字標(biāo)注;另一種是3D Chart符號(hào),用于顯示餅圖等三維對(duì)象。
1.MarkerSymbol對(duì)象
??MarkerSymbol用于修飾點(diǎn)對(duì)象的符號(hào),它擁有十三個(gè)子類,其中不同的子類可以產(chǎn)生不同類型的點(diǎn)符號(hào)。所有的MarkerSymbol類都實(shí)現(xiàn)了IMarkerSymbol接口,這個(gè)接口定義了標(biāo)記符號(hào)的公共方法和屬性,如角度、顏色、大小和X,Y偏移量等。
| 點(diǎn)符號(hào)類型 | 描述 |
| ArrowMarkerSymbol | 預(yù)定義的箭頭符號(hào) |
| BarChartSymbol | 柱狀圖符號(hào) |
| CharacterMarker3DSymbol | 三維字體符號(hào) |
| CharacterMarkerSymbol | 字體符號(hào) |
| Marker3DSymbol | 3D?符號(hào) |
| MultiLayerMarkerSymbol | 多個(gè)符號(hào)疊加產(chǎn)生新點(diǎn)符號(hào) |
| PictureMarkerSymbol | 圖片符號(hào)(bmp或emf) |
| PiechartSymbol | 餅圖符號(hào) |
| SimpleMarker3DSymbol | 簡(jiǎn)單3D符號(hào) |
| SimpleMarkerSymbol | 簡(jiǎn)單符號(hào) |
| StackedChartSymbol | 堆疊符號(hào) |
| TextMarkerSymbol | 文字符號(hào)用來符號(hào)化點(diǎn)?? |
//創(chuàng)建SimpleMarkerSymbolClass對(duì)象
ISimpleMarkerSymbol?pSimpleMarkerSymbol =?new?SimpleMarkerSymbolClass();
//創(chuàng)建RgbColorClass對(duì)象為pSimpleMarkerSymbol設(shè)置顏色
IRgbColor?pRgbColor =?new?RgbColorClass();
pRgbColor.Red = 255;
pSimpleMarkerSymbol.Color = pRgbColor?as?IColor;
//設(shè)置pSimpleMarkerSymbol對(duì)象的符號(hào)類型,選擇鉆石
pSimpleMarkerSymbol.Style =?esriSimpleMarkerStyle.esriSMSDiamond;
//設(shè)置pSimpleMarkerSymbol對(duì)象大小,設(shè)置為5
pSimpleMarkerSymbol.Size = 5;
//顯示外框線
pSimpleMarkerSymbol.Outline =?true;
//為外框線設(shè)置顏色
IRgbColor?pLineRgbColor =?new?RgbColorClass();
pLineRgbColor.Green = 255;
pSimpleMarkerSymbol.OutlineColor = pLineRgbColor?as?IColor;
//設(shè)置外框線的寬度
pSimpleMarkerSymbol.OutlineSize = 1;?
?
2.LineSymbol對(duì)象
LineSymbol對(duì)象是用于修飾線型幾何對(duì)象的符號(hào),它擁有八個(gè)子類,其中不同的子類可以產(chǎn)生不同類型的線符號(hào),所有的LineSymbol類都實(shí)現(xiàn)了ILineSymbol接口, ILineSymbol定義了兩個(gè)公共屬性:Color和Width。
| 線符號(hào)類型 | 描述 |
| CartographicLineSymbol | 實(shí)心或者虛線線符號(hào) |
| HashLineSymbol | 離散線符號(hào) |
| MarkerLineSymbol | 點(diǎn)線符號(hào) |
| MultiLayerLineSymbol | 多符號(hào)疊加產(chǎn)生新線符號(hào) |
| PictureLineSymbol | 圖片線符號(hào) |
| SimpleLine3DSymbol | 3D?線符號(hào) |
| SimpleLineSymbol | 預(yù)定義風(fēng)格的線符號(hào) |
| TextureLineSymbol (3DAnalyst) | 紋理貼 圖線符號(hào) |
IArrowMarkerSymbol?pArrowMarker =?new?ArrowMarkerSymbolClass();
?
IRgbColor?pRgbColor =?new?RgbColorClass();
pRgbColor.Red = 255;
pArrowMarker.Color = pRgbColor as?IColor;?
pArrowMarker.Length = 10;
pArrowMarker.Width = 8;
pArrowMarker.Style =?esriArrowMarkerStyle.esriAMSPlain;
IMarkerLineSymbol?pMarkerLine =?new?MarkerLineSymbolClass();
pMarkerLine.MarkerSymbol = arrowMarker;
IRgbColor?pLineColor =?new?RgbColorClass();
pLineColor.Blue = 255;
pMarkerLine.Color = pLineColor?as?IColor;
3.FillSymbol對(duì)象
FillSymbol是用來修飾如多邊形等具有面積的幾何形體的符號(hào)對(duì)象,它擁有十一個(gè)子類如表4所示它實(shí)現(xiàn)了IFillSymbol,這個(gè)接口定義了兩個(gè)屬性Color和OutLine,以滿足所有類型的FillSymbol對(duì)象的公共屬性設(shè)置。
| 填充符號(hào)類型 | 描述 |
| ColorRampSymbol (Carto) | 用于渲染Raster數(shù)據(jù)的顏色帶 |
| ColorSymbol (Carto) | 用于渲染Raster數(shù)據(jù)的顏色符號(hào) |
| DotDensityFillSymbol | 點(diǎn)密度填充符號(hào) |
| GradientFillSymbol | 漸變填充符號(hào) |
| LineFillSymbol | 包含線符號(hào)的填充符號(hào) |
| MarkerFillSymbol | 包含點(diǎn)符號(hào)的填充符號(hào) |
| MultiLayerFillSymbol | 多符號(hào)疊加產(chǎn)生新填充符號(hào) |
| PictureFillSymbol | 圖片填充符號(hào) |
| RasterRGBSymbol | 用于渲染Raster數(shù)據(jù) RGBSymbol |
| SimpleFillSymbol | 簡(jiǎn)單填充符號(hào) |
| TextureFillSymbol | 紋理貼圖填充符號(hào) |
以MarkerLineSymbol構(gòu)建為例演示如何創(chuàng)建一個(gè)線符號(hào):
//為填充符號(hào)創(chuàng)建外框線符號(hào)
IColor?pLineColor =?new?RgbColorClass();
ICartographicLineSymbol?pCartoLineSymbol =?new?CartographicLineSymbolClass();
pCartoLineSymbol.Width = 2;
pCartoLineSymbol.Color = pLineColor;
//創(chuàng)建一個(gè)填充符號(hào)
ISimpleFillSymbol?pSmplFillSymbol =?new?SimpleFillSymbol();
//設(shè)置填充符號(hào)的屬性
IColor?pRgbClr =?new?RgbColorClass();
IFillSymbol?pFillSymbol = pSmplFillSymbol;
pFillSymbol.Color = pRgbClr;
pFillSymbol.Outline = pCartoLineSymbol;
4.TextSymbol對(duì)象
TextSymbol對(duì)象是用于修飾文字元素的,文字元素在要素標(biāo)注等方面很有用處。TextSymbol符號(hào)最重要的設(shè)置對(duì)象是它的字符,它實(shí)現(xiàn)了三個(gè)主要的接口來設(shè)置字符:ITextSymbol 、 ISimpleTextSymbol 和 IFormattedTextSymbol 。
ITextSymbol接口是定義文本字符樣式的主要接口,它定義的ITextSymbol::Font屬性是產(chǎn)生一個(gè)TextSymbol符號(hào)的關(guān)鍵。可以使用IFontDisp接口來設(shè)置字體的大小和是否是粗體、傾斜等屬性。使用ITextSymbol接口還可以定義TextSymbol對(duì)象的顏色、角度、水平排列方式、垂直排列方式和文本等內(nèi)容。
以下是一個(gè)構(gòu)建TextSymbol的函數(shù):
///<summary>
///生成文本符號(hào)
///</summary>
///<param name="pTxtSymbol">文本符號(hào)</param>
///<param name="sFontName">字體名稱</param>
///<param name="iFont">字體大小</param>
///<param name="iColor">字體顏色</param>
public?static?void?MakeTextSymbol(ref?ITextSymbol pTxtSymbol,?string?sFontName,?int?iFont,?int?iColor)
{try
{
pTxtSymbol.Font.Name = sFontName;
pTxtSymbol.Font.Size = (decimal)iFont;
IRgbColor pRGBColor =?new?RgbColorClass();
pRGBColor.RGB = iColor;
pTxtSymbol.Color = (IColor)pRGBColor;
pTxtSymbol.Angle = 0;
pTxtSymbol.RightToLeft =?false;
pTxtSymbol.HorizontalAlignment = esriTextHorizontalAlignment.esriTHACenter;
pTxtSymbol.VerticalAlignment = esriTextVerticalAlignment.esriTVABaseline;
}
catch?(Exception?Err)
{
MessageBox.Show(Err.Message,?"提示",?MessageBoxButtons.OK,?MessageBoxIcon.Information);
}
}
5. 3DChartSymbol對(duì)象
3DChartSymbol是一個(gè)抽象類,它擁有三個(gè)子類:BarChart、PieChart和StackedChart。BarChartSymbol是最常用的三維著色符號(hào),它使用不同類型的柱子來代表一個(gè)要素類中不同的屬性,而柱子的高度取決于屬性值的大小。
PieChartSymbol符號(hào)進(jìn)行著色的方法是使用一個(gè)餅圖來顯示不同要素類中的不同屬性,不同的屬性按照它們的數(shù)值大小占有一個(gè)餅圖中的不同比例的扇形區(qū)域。
PieChartSymbol符號(hào)進(jìn)行著色的方法是使用一個(gè)餅圖來顯示不同要素類中的不同屬性,不同的屬性按照它們的數(shù)值大小占有一個(gè)餅圖中的不同比例的扇形區(qū)域。
轉(zhuǎn)載于:https://www.cnblogs.com/Joetao/articles/5543926.html
總結(jié)
以上是生活随笔為你收集整理的符号化Symbol(符号)体系(转载)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: TCP/IP编程之SO_REUSEADD
- 下一篇: (王道408考研数据结构)第八章排序-第