![](dotnetdiagramimages/image430.png)
public class CIMPointSymbol : CIMMultiLayerSymbol, System.ComponentModel.INotifyPropertyChanged, System.Xml.Serialization.IXmlSerializable
Public Class CIMPointSymbol Inherits CIMMultiLayerSymbol Implements System.ComponentModel.INotifyPropertyChanged, System.Xml.Serialization.IXmlSerializable
await QueuedTask.Run(() =>
{
CIMPointSymbol pointSymbol = SymbolFactory.Instance.ConstructPointSymbol(ColorFactory.Instance.RedRGB, 10.0);
});
await QueuedTask.Run(() =>
{
CIMPointSymbol starPointSymbol = SymbolFactory.Instance.ConstructPointSymbol(ColorFactory.Instance.RedRGB, 10.0, SimpleMarkerStyle.Star);
});
await QueuedTask.Run(() =>
{
CIMMarker marker = SymbolFactory.Instance.ConstructMarker(ColorFactory.Instance.GreenRGB, 8.0, SimpleMarkerStyle.Pushpin);
CIMPointSymbol pointSymbolFromMarker = SymbolFactory.Instance.ConstructPointSymbol(marker);
});
//The following file formats can be used to create the marker: DAE, 3DS, FLT, EMF, JPG, PNG, BMP, GIF CIMMarker markerFromFile = await QueuedTask.Run(() => SymbolFactory.Instance.ConstructMarkerFromFile(@"C:\Temp\fileName.dae")); CIMPointSymbol pointSymbolFromFile = SymbolFactory.Instance.ConstructPointSymbol(markerFromFile);
//Create a stream for the image //At 3.0 you need https://www.nuget.org/packages/Microsoft.Windows.Compatibility //System.Drawing System.Drawing.Image newImage = System.Drawing.Image.FromFile(@"C:\PathToImage\Image.png"); var stream = new System.IO.MemoryStream(); newImage.Save(stream, System.Drawing.Imaging.ImageFormat.Png); stream.Position = 0; //Create marker using the stream CIMMarker markerFromStream = SymbolFactory.Instance.ConstructMarkerFromStream(stream); //Create the point symbol from the marker CIMPointSymbol pointSymbolFromStream = SymbolFactory.Instance.ConstructPointSymbol(markerFromStream);
/// <summary> /// Creates a point symbol with custom fill and outline /// ![PointSymbolMarker](http://Esri.github.io/arcgis-pro-sdk/images/Symbology/point-fill-outline.png) /// </summary> /// <returns></returns> internal static Task<CIMPointSymbol> CreatePointSymbolAsync() { return QueuedTask.Run<CIMPointSymbol>(() => { var circlePtSymbol = SymbolFactory.Instance.ConstructPointSymbol(ColorFactory.Instance.BlueRGB, 6, SimpleMarkerStyle.Circle); //Modifying this point symbol with the attributes we want. //getting the marker that is used to render the symbol var marker = circlePtSymbol.SymbolLayers[0] as CIMVectorMarker; //Getting the polygon symbol layers components in the marker var polySymbol = marker.MarkerGraphics[0].Symbol as CIMPolygonSymbol; //modifying the polygon's outline and width per requirements polySymbol.SymbolLayers[0] = SymbolFactory.Instance.ConstructStroke(ColorFactory.Instance.BlackRGB, 2, SimpleLineStyle.Solid); //This is the outline polySymbol.SymbolLayers[1] = SymbolFactory.Instance.ConstructSolidFill(ColorFactory.Instance.BlueRGB); //This is the fill return circlePtSymbol; }); }
/// <summary> /// Create a point symbol from a character in a font file /// ![PointSymbolFont](http://Esri.github.io/arcgis-pro-sdk/images/Symbology/point-marker.png) /// </summary> /// <returns></returns> internal static Task<CIMPointSymbol> CreateMarkerSymbolAsync() { //Construct point symbol from marker return QueuedTask.Run<CIMPointSymbol>(() => { //creating the marker from the Font selected var cimMarker = SymbolFactory.Instance.ConstructMarker(47, "Wingdings 3", "Regular", 12); return SymbolFactory.Instance.ConstructPointSymbol(cimMarker); }); }
System.Object
ArcGIS.Core.CIM.CIMObject
ArcGIS.Core.CIM.CIMSymbol
ArcGIS.Core.CIM.CIMMultiLayerSymbol
ArcGIS.Core.CIM.CIMPointSymbol
Target Platforms: Windows 11, Windows 10