Making a picture marker symbol
A picture marker symbol can be created using either a Windows bitmap (BMP) or enhanced metafile (EMF) as the underlying artwork for the symbol. The following code shows an example for using both types of files as the input. You need to modify the input path for each type to point to the appropriate file.
[VB.NET]
Public Sub PictureMarkerSymbol()
' This example creates two picture marker symbols; one from a .emf file
' and one from a .bmp file.
' Set the transparent background color for the .bmp-based picture marker symbol to white.
Dim rgbColorCls As ESRI.ArcGIS.Display.IRgbColor = New ESRI.ArcGIS.Display.RgbColorClass
rgbColorCls.Red = 255
rgbColorCls.Green = 255
rgbColorCls.Blue = 255
' Create the EMF marker and assign properties.
Dim emfPictureMarkerSymbolCls As ESRI.ArcGIS.Display.IPictureMarkerSymbol = New ESRI.ArcGIS.Display.PictureMarkerSymbolClass
With emfPictureMarkerSymbolCls
.CreateMarkerSymbolFromFile(ESRI.ArcGIS.Display.esriIPictureType.esriIPictureEMF, "c:\temp\mypict.emf")
.Angle = 0
.Size = 24
.XOffset = 0
.YOffset = 0
End With
' Create the bitmap marker and assign properties.
Dim bitmapPictureMarkerSymbolCls As ESRI.ArcGIS.Display.IPictureMarkerSymbol = New ESRI.ArcGIS.Display.PictureMarkerSymbolClass
With bitmapPictureMarkerSymbolCls
.CreateMarkerSymbolFromFile(ESRI.ArcGIS.Display.esriIPictureType.esriIPictureBitmap, "c:\temp\mypict.bmp")
.Angle = 0
.BitmapTransparencyColor = rgbColorCls
.Size = 32
.XOffset = 0
.YOffset = 0
End With
End Sub
[C#]
public void PictureMarkerSymbol()
{
// This example creates two picture marker symbols; one from a .emf file and
// one from a .bmp file.
// Set the transparent background color for the .bmp-based picture marker symbol to white.
ESRI.ArcGIS.Display.IRgbColor rgbColorCls = new
ESRI.ArcGIS.Display.RgbColorClass();
rgbColorCls.Red = 255;
rgbColorCls.Green = 255;
rgbColorCls.Blue = 255;
// Create the EMF marker and assign properties.
ESRI.ArcGIS.Display.IPictureMarkerSymbol emfPictureMarkerSymbolCls = new
ESRI.ArcGIS.Display.PictureMarkerSymbolClass();
emfPictureMarkerSymbolCls.CreateMarkerSymbolFromFile
(ESRI.ArcGIS.Display.esriIPictureType.esriIPictureEMF,
"c:\\temp\\mypict.emf");
emfPictureMarkerSymbolCls.Angle = 0;
emfPictureMarkerSymbolCls.Size = 24;
emfPictureMarkerSymbolCls.XOffset = 0;
emfPictureMarkerSymbolCls.YOffset = 0;
// Create the bitmap marker and assign properties.
ESRI.ArcGIS.Display.IPictureMarkerSymbol bitmapPictureMarkerSymbolCls = new
ESRI.ArcGIS.Display.PictureMarkerSymbolClass();
bitmapPictureMarkerSymbolCls.CreateMarkerSymbolFromFile
(ESRI.ArcGIS.Display.esriIPictureType.esriIPictureBitmap,
"c:\\temp\\mypict.bmp");
bitmapPictureMarkerSymbolCls.Angle = 0;
bitmapPictureMarkerSymbolCls.BitmapTransparencyColor = rgbColorCls;
bitmapPictureMarkerSymbolCls.Size = 32;
bitmapPictureMarkerSymbolCls.XOffset = 0;
bitmapPictureMarkerSymbolCls.YOffset = 0;
}
See Also:
How to make a cartographic line symbolHow to make a character marker symbol
How to make a gradient fill symbol
How to make a line callout
How to make a line fill symbol
Creating custom symbols
Creating other kinds of custom symbols
How to make different types of colors and color ramps
Development licensing | Deployment licensing |
---|---|
ArcGIS for Desktop Basic | ArcGIS for Desktop Basic |
ArcGIS for Desktop Standard | ArcGIS for Desktop Standard |
ArcGIS for Desktop Advanced | ArcGIS for Desktop Advanced |
Engine Developer Kit | Engine |