ThinkGeo.MapSuite.Drawing.GeoCanvas
Inheritance Hierarchy
Members Summary
Public Constructors
Protected Constructors
GeoCanvas()
Parameters
Public Methods
Flush()
This method should be called when you are finished drawing. It will commit the image changes to the image you passed in on BeginDrawing. It will also set IsDrawing to false. After you call this method it will put the GeoCanvas into an invalid state, so if you then call any drawing methods it will raise an exception.
Return Value
Type:Void
Description:N/A
Parameters
CloneDeep()
The difference between deep clone and shallow clone is as follows: In shallow cloning, only the object is copied; the objects within it are not. By contrast, deep cloning copies the cloned object as well as all the objects within.
Return Value
Parameters
GetStyleSheetClasses()
Return Value
Parameters
Clear(GeoBrush)
Return Value
Type:Void
Description:N/A
Parameters
DrawArea(Feature,GeoPen,DrawingLevel)
This method is used to draw on the GeoCanvas. It provides you with a number of overloads that allow you to control how things are drawn. Specify the GeoBrush to fill in an area. Specify the GeoPen to outline an area using that GeoPen. You can also call an overload that will allow you to specify both a GeoPen and a GeoBrush.The DrawingLevel allows you to specify the level you will draw on when you are drawing multiple areas. This is very useful when you want to draw a drop shadow, for example. In that case, you could draw the black backdrop on the lowest level with an offset, then draw the normal shape on a higher level without an offset.
Return Value
Type:Void
Description:N/A
Parameters
DrawArea(AreaBaseShape,GeoPen,DrawingLevel)
This method is used to draw on the GeoCanvas. It provides you with a number of overloads that allow you to control how things are drawn. Specify the GeoBrush to fill in an area. Specify the GeoPen to outline an area using that GeoPen. You can also call an overload that will allow you to specify both a GeoPen and a GeoBrush.The DrawingLevel allows you to specify the level you will draw on when you are drawing multiple areas. This is very useful when you want to draw a drop shadow, for example. In that case, you could draw the black backdrop on the lowest level with an offset, then draw the normal shape on a higher level without an offset.
Return Value
Type:Void
Description:N/A
Parameters
DrawArea(Feature,GeoBrush,DrawingLevel)
This method is used to draw on the GeoCanvas. It provides you with a number of overloads that allow you to control how things are drawn. Specify the GeoBrush to fill in an area. Specify the GeoPen to outline an area using that GeoPen. You can also call an overload that will allow you to specify both a GeoPen and a GeoBrush.The DrawingLevel allows you to specify the level you will draw on when you are drawing multiple areas. This is very useful when you want to draw a drop shadow, for example. In that case, you could draw the black backdrop on the lowest level with an offset, then draw the normal shape on a higher level without an offset.
Return Value
Type:Void
Description:This method is used to draw on the GeoCanvas. It provides you with a number of overloads that allow you to control how things are drawn. Specify the GeoBrush to fill in an area. Specify the GeoPen to outline an area using that GeoPen. You can also call an overload that will allow you to specify both a GeoPen and a GeoBrush.The DrawingLevel allows you to specify the level you will draw on when you are drawing multiple areas. This is very useful when you want to draw a drop shadow, for example. In that case, you could draw the black backdrop on the lowest level with an offset, then draw the normal shape on a higher level without an offset.
Parameters
DrawArea(AreaBaseShape,GeoBrush,DrawingLevel)
This method is used to draw on the GeoCanvas. It provides you with a number of overloads that allow you to control how things are drawn. Specify the GeoBrush to fill in an area. Specify the GeoPen to outline an area using that GeoPen. You can also call an overload that will allow you to specify both a GeoPen and a GeoBrush.The DrawingLevel allows you to specify the level you will draw on when you are drawing multiple areas. This is very useful when you want to draw a drop shadow, for example. In that case, you could draw the black backdrop on the lowest level with an offset, then draw the normal shape on a higher level without an offset.
Return Value
Type:Void
Description:This method is used to draw on the GeoCanvas. It provides you with a number of overloads that allow you to control how things are drawn. Specify the GeoBrush to fill in an area. Specify the GeoPen to outline an area using that GeoPen. You can also call an overload that will allow you to specify both a GeoPen and a GeoBrush.The DrawingLevel allows you to specify the level you will draw on when you are drawing multiple areas. This is very useful when you want to draw a drop shadow, for example. In that case, you could draw the black backdrop on the lowest level with an offset, then draw the normal shape on a higher level without an offset.
Parameters
DrawArea(Feature,GeoPen,GeoBrush,DrawingLevel)
This method is used to draw on the GeoCanvas. It provides you with a number of overloads that allow you to control how things are drawn. Specify the GeoBrush to fill in an area. Specify the GeoPen to outline an area using that GeoPen. You can also call an overload that will allow you to specify both a GeoPen and a GeoBrush.The DrawingLevel allows you to specify the level you will draw on when you are drawing multiple areas. This is very useful when you want to draw a drop shadow, for example. In that case, you could draw the black backdrop on the lowest level with an offset, then draw the normal shape on a higher level without an offset.
Return Value
Type:Void
Description:This method is used to draw on the GeoCanvas. It provides you with a number of overloads that allow you to control how things are drawn. Specify the GeoBrush to fill in an area. Specify the GeoPen to outline an area using that GeoPen. You can also call an overload that will allow you to specify both a GeoPen and a GeoBrush.The DrawingLevel allows you to specify the level you will draw on when you are drawing multiple areas. This is very useful when you want to draw a drop shadow, for example. In that case, you could draw the black backdrop on the lowest level with an offset, then draw the normal shape on a higher level without an offset.
Parameters
DrawArea(AreaBaseShape,GeoPen,GeoBrush,DrawingLevel)
This method is used to draw on the GeoCanvas. It provides you with a number of overloads that allow you to control how things are drawn. Specify the GeoBrush to fill in an area. Specify the GeoPen to outline an area using that GeoPen. You can also call an overload that will allow you to specify both a GeoPen and a GeoBrush.The DrawingLevel allows you to specify the level you will draw on when you are drawing multiple areas. This is very useful when you want to draw a drop shadow, for example. In that case, you could draw the black backdrop on the lowest level with an offset, then draw the normal shape on a higher level without an offset.
Return Value
Type:Void
Description:This method is used to draw on the GeoCanvas. It provides you with a number of overloads that allow you to control how things are drawn. Specify the GeoBrush to fill in an area. Specify the GeoPen to outline an area using that GeoPen. You can also call an overload that will allow you to specify both a GeoPen and a GeoBrush.The DrawingLevel allows you to specify the level you will draw on when you are drawing multiple areas. This is very useful when you want to draw a drop shadow, for example. In that case, you could draw the black backdrop on the lowest level with an offset, then draw the normal shape on a higher level without an offset.
Parameters
DrawArea(Feature,GeoPen,GeoBrush,DrawingLevel,Single,Single,PenBrushDrawingOrder)
This method is used to draw on the GeoCanvas. It provides you with a number of overloads that allow you to control how things are drawn. Specify the GeoBrush to fill in an area. Specify the GeoPen to outline an area using that GeoPen. You can also call an overload that will allow you to specify both a GeoPen and a GeoBrush.The DrawingLevel allows you to specify the level you will draw on when you are drawing multiple areas. This is very useful when you want to draw a drop shadow, for example. In that case, you could draw the black backdrop on the lowest level with an offset, then draw the normal shape on a higher level without an offset.
Return Value
Type:Void
Description:This method is used to draw on the GeoCanvas. It provides you with a number of overloads that allow you to control how things are drawn. Specify the GeoBrush to fill in an area. Specify the GeoPen to outline an area using that GeoPen. You can also call an overload that will allow you to specify both a GeoPen and a GeoBrush.The DrawingLevel allows you to specify the level you will draw on when you are drawing multiple areas. This is very useful when you want to draw a drop shadow, for example. In that case, you could draw the black backdrop on the lowest level with an offset, then draw the normal shape on a higher level without an offset.
Parameters
DrawArea(AreaBaseShape,GeoPen,GeoBrush,DrawingLevel,Single,Single,PenBrushDrawingOrder)
This method is used to draw on the GeoCanvas. It provides you with a number of overloads that allow you to control how things are drawn. Specify the GeoBrush to fill in an area. Specify the GeoPen to outline an area using that GeoPen. You can also call an overload that will allow you to specify both a GeoPen and a GeoBrush.The DrawingLevel allows you to specify the level you will draw on when you are drawing multiple areas. This is very useful when you want to draw a drop shadow, for example. In that case, you could draw the black backdrop on the lowest level with an offset, then draw the normal shape on a higher level without an offset.
Return Value
Type:Void
Description:This method is used to draw on the GeoCanvas. It provides you with a number of overloads that allow you to control how things are drawn. Specify the GeoBrush to fill in an area. Specify the GeoPen to outline an area using that GeoPen. You can also call an overload that will allow you to specify both a GeoPen and a GeoBrush.The DrawingLevel allows you to specify the level you will draw on when you are drawing multiple areas. This is very useful when you want to draw a drop shadow, for example. In that case, you could draw the black backdrop on the lowest level with an offset, then draw the normal shape on a higher level without an offset.
Parameters
DrawArea(IEnumerable<ScreenPointF[]>,GeoPen,GeoBrush,DrawingLevel,Single,Single,PenBrushDrawingOrder)
This method is used to draw on the GeoCanvas. It provides you with a number of overloads that allow you to control how things are drawn. Specify the GeoBrush to fill in an area. Specify the GeoPen to outline an area using that GeoPen. You can also call an overload that will allow you to specify both a GeoPen and a GeoBrush.The DrawingLevel allows you to specify the level you will draw on when you are drawing multiple areas. This is very useful when you want to draw a drop shadow, for example. In that case, you could draw the black backdrop on the lowest level with an offset, then draw the normal shape on a higher level without an offset.
Return Value
Type:Void
Description:This method is used to draw on the GeoCanvas. It provides you with a number of overloads that allow you to control how things are drawn. Specify the GeoBrush to fill in an area. Specify the GeoPen to outline an area using that GeoPen. You can also call an overload that will allow you to specify both a GeoPen and a GeoBrush.The DrawingLevel allows you to specify the level you will draw on when you are drawing multiple areas. This is very useful when you want to draw a drop shadow, for example. In that case, you could draw the black backdrop on the lowest level with an offset, then draw the normal shape on a higher level without an offset.
Parameters
DrawLine(Feature,GeoPen,DrawingLevel)
This method is used to draw a line on the GeoCanvas using the specified GeoPen.The DrawingLevel allows you to specify the level you will draw on when drawing multiple lines. This is very useful when you want to draw a road, for example. You can draw the black background on the lowest level, then draw a slightly thinner white line on a higher level. This will result in a great effect for a road.
Return Value
Type:Void
Description:N/A
Parameters
DrawLine(LineBaseShape,GeoPen,DrawingLevel)
This method is used to draw a line on the GeoCanvas using the specified GeoPen.The DrawingLevel allows you to specify the level you will draw on when drawing multiple lines. This is very useful when you want to draw a road, for example. You can draw the black background on the lowest level, then draw a slightly thinner white line on a higher level. This will result in a great effect for a road.
Return Value
Type:Void
Description:N/A
Parameters
DrawLine(Feature,GeoPen,DrawingLevel,Single,Single)
This method is used to draw a line on the GeoCanvas using the specified GeoPen.The DrawingLevel allows you to specify the level you will draw on when drawing multiple lines. This is very useful when you want to draw a road, for example. You can draw the black background on the lowest level, then draw a slightly thinner white line on a higher level. This will result in a great effect for a road.
Return Value
Type:Void
Description:N/A
Parameters
DrawLine(LineBaseShape,GeoPen,DrawingLevel,Single,Single)
This method is used to draw a line on the GeoCanvas using the specified GeoPen.The DrawingLevel allows you to specify the level you will draw on when drawing multiple lines. This is very useful when you want to draw a road, for example. You can draw the black background on the lowest level, then draw a slightly thinner white line on a higher level. This will result in a great effect for a road.
Return Value
Type:Void
Description:N/A
Parameters
DrawLine(IEnumerable<ScreenPointF>,GeoPen,DrawingLevel,Single,Single)
This method is used to draw a line on the GeoCanvas using the specified GeoPen.The DrawingLevel allows you to specify the level you will draw on when drawing multiple lines. This is very useful when you want to draw a road, for example. You can draw the black background on the lowest level, then draw a slightly thinner white line on a higher level. This will result in a great effect for a road.
Return Value
Type:Void
Description:N/A
Parameters
DrawEllipse(Feature,Single,Single,GeoPen,DrawingLevel)
Return Value
Type:Void
Description:N/A
Parameters
DrawEllipse(PointBaseShape,Single,Single,GeoPen,DrawingLevel)
Return Value
Type:Void
Description:N/A
Parameters
DrawEllipse(Feature,Single,Single,GeoBrush,DrawingLevel)
Return Value
Type:Void
Description:N/A
Parameters
DrawEllipse(PointBaseShape,Single,Single,GeoBrush,DrawingLevel)
Return Value
Type:Void
Description:N/A
Parameters
DrawEllipse(Feature,Single,Single,GeoPen,GeoBrush,DrawingLevel)
Return Value
Type:Void
Description:N/A
Parameters
DrawEllipse(PointBaseShape,Single,Single,GeoPen,GeoBrush,DrawingLevel)
Return Value
Type:Void
Description:N/A
Parameters
DrawEllipse(Feature,Single,Single,GeoPen,GeoBrush,DrawingLevel,Single,Single,PenBrushDrawingOrder)
Return Value
Type:Void
Description:N/A
Parameters
DrawEllipse(PointBaseShape,Single,Single,GeoPen,GeoBrush,DrawingLevel,Single,Single,PenBrushDrawingOrder)
Return Value
Type:Void
Description:N/A
Parameters
DrawEllipse(ScreenPointF,Single,Single,GeoPen,GeoBrush,DrawingLevel,Single,Single,PenBrushDrawingOrder)
Return Value
Type:Void
Description:N/A
Parameters
DrawWorldImageWithoutScaling(GeoImage,Double,Double,DrawingLevel)
Drawing an image unscaled is faster than using the API that scales it.The X & Y in work coordinates is where the center of the image will be drawn.
Return Value
Type:Void
Description:N/A
Parameters
DrawWorldImageWithoutScaling(GeoImage,Double,Double,DrawingLevel,Single,Single,Single)
Drawing an image unscaled is faster than using the API that scales it.The X & Y in work coordinates is where the center of the image will be drawn.
Return Value
Type:Void
Description:N/A
Parameters
DrawScreenImageWithoutScaling(GeoImage,Single,Single,DrawingLevel,Single,Single,Single)
Drawing an image unscaled is faster than using the API that scales it.The X & Y in work coordinates is where the center of the image will be drawn.
Return Value
Type:Void
Description:N/A
Parameters
DrawWorldImage(GeoImage,Double,Double,Single,Single,DrawingLevel)
Drawing an image scaled is slower than using the API that draws it unscaled.
Return Value
Type:Void
Description:N/A
Parameters
DrawWorldImage(GeoImage,Double,Double,Double,DrawingLevel,Single,Single,Single)
Drawing an image scaled is slower than using the API that draws it unscaled.
Return Value
Type:Void
Description:N/A
Parameters
DrawWorldImage(GeoImage,Double,Double,Single,Single,DrawingLevel,Single,Single,Single)
Drawing an image scaled is slower than using the API that draws it unscaled.
Return Value
Type:Void
Description:N/A
Parameters
DrawScreenImage(GeoImage,Single,Single,Single,Single,DrawingLevel,Single,Single,Single)
Drawing an image scaled is slower than using the API that draws it unscaled.
Return Value
Type:Void
Description:N/A
Parameters
DrawTextWithScreenCoordinate(String,GeoFont,GeoBrush,Single,Single,DrawingLevel)
This method is used to draw text on the GeoCanvas at specific screen coordinates. It provides you with a number of overloads that allow you to control how the text is drawn. This is useful especially when adding things such as legends, titles, etc.The DrawingLevel allows you to specify the level you will draw on when drawing multiple text items. This is very useful when you want to draw a drop shadow, for example. You can draw the black backdrop on the lowest level with an offset, then draw the normal text on a higher level without an offset.
Return Value
Type:Void
Description:N/A
Parameters
DrawTextWithScreenCoordinate(String,GeoFont,GeoBrush,GeoPen,Single,Single,DrawingLevel)
Return Value
Type:Void
Description:N/A
Parameters
text
Type:String
Description:N/A
upperLeftXInScreen
Type:Single
Description:N/A
upperLeftYInScreen
Type:Single
Description:N/A
DrawTextWithWorldCoordinate(String,GeoFont,GeoBrush,Double,Double,DrawingLevel)
This method is used to draw text on the GeoCanvas at specific screen coordinates. It provides you with a number of overloads that allow you to control how the text is drawn. This is useful especially when adding things such as legends, titles, etc.The DrawingLevel allows you to specify the level you will draw on when drawing multiple text items. This is very useful when you want to draw a drop shadow, for example. You can draw the black backdrop on the lowest level with an offset, then draw the normal text on a higher level without an offset.
Return Value
Type:Void
Description:N/A
Parameters
DrawTextWithWorldCoordinate(String,GeoFont,GeoBrush,GeoPen,Double,Double,DrawingLevel)
Return Value
Type:Void
Description:N/A
Parameters
text
Type:String
Description:N/A
upperLeftXInWorld
Type:Double
Description:N/A
upperLeftYInWorld
Type:Double
Description:N/A
DrawText(String,GeoFont,GeoBrush,IEnumerable<ScreenPointF>,DrawingLevel)
Return Value
Type:Void
Description:N/A
Parameters
DrawText(String,GeoFont,GeoBrush,GeoPen,IEnumerable<ScreenPointF>,DrawingLevel,Single,Single,Single)
Return Value
Type:Void
Description:N/A
Parameters
MeasureText(String,GeoFont)
Return Value
Parameters
BeginDrawing(Object,RectangleShape,GeographyUnit)
Return Value
Type:Void
Description:N/A
Parameters
ToNativeImage(GeoImage)
This method is a BaseClass API and will be implemented and used in its sub-concrete classes.
Return Value
Parameters
ToGeoImage(Object)
This method is a BaseClass API and will be implemented and used in its sub-concrete classes.
Return Value
Parameters
EndDrawing()
This method should be called when you are finished drawing. It will commit the image changes to the image you passed in on BeginDrawing. It will also set IsDrawing to false. After you call this method it will put the GeoCanvas into an invalid state, so if you then call any drawing methods it will raise an exception.
Return Value
Type:Void
Description:N/A
Parameters
GetStreamFromGeoImage(GeoImage)
Return Value
Parameters
ToString()
Return Value
Type:String
Description:N/A
Parameters
Equals(Object)
Return Value
Type:Boolean
Description:N/A
Parameters
obj
Type:Object
Description:N/A
GetHashCode()
Return Value
Type:Int32
Description:N/A
Parameters
GetType()
Return Value
Type:Type
Description:N/A
Parameters
CreatePlatformGeoCanvas()
Return Value
Parameters
Protected Methods
FlushCore()
This method should be called when you are finished drawing. It will commit the image changes to the image you passed in on BeginDrawing. It will also set IsDrawing to false. After you call this method it will put the GeoCanvas into an invalid state, so if you then call any drawing methods it will raise an exception.
Return Value
Type:Void
Description:N/A
Parameters
OnDrawingProgressChanged(DrawingProgressChangedEventArgs)
Return Value
Type:Void
Description:N/A
Parameters
ToWorldCoordinate(DrawingRectangleF)
Return Value
Parameters
CloneDeepCore()
The difference between deep clone and shallow clone is as follows: In shallow cloning, only the object is copied; the objects within it are not. By contrast, deep cloning copies the cloned object as well as all the objects within.
Return Value
Parameters
ClearCore(GeoBrush)
Return Value
Type:Void
Description:N/A
Parameters
DrawAreaCore(IEnumerable<ScreenPointF[]>,GeoPen,GeoBrush,DrawingLevel,Single,Single,PenBrushDrawingOrder)
This method is used to draw on the GeoCanvas. It provides you with a number of overloads that allow you to control how things are drawn. Specify the GeoBrush to fill in an area. Specify the GeoPen to outline an area using that GeoPen. You can also call an overload that will allow you to specify both a GeoPen and a GeoBrush.The DrawingLevel allows you to specify the level you will draw on when you are drawing multiple areas. This is very useful when you want to draw a drop shadow, for example. In that case, you could draw the black backdrop on the lowest level with an offset, then draw the normal shape on a higher level without an offset.
Return Value
Type:Void
Description:This method is used to draw on the GeoCanvas. It provides you with a number of overloads that allow you to control how things are drawn. Specify the GeoBrush to fill in an area. Specify the GeoPen to outline an area using that GeoPen. You can also call an overload that will allow you to specify both a GeoPen and a GeoBrush.The DrawingLevel allows you to specify the level you will draw on when you are drawing multiple areas. This is very useful when you want to draw a drop shadow, for example. In that case, you could draw the black backdrop on the lowest level with an offset, then draw the normal shape on a higher level without an offset.
Parameters
DrawLineCore(IEnumerable<ScreenPointF>,GeoPen,DrawingLevel,Single,Single)
This method is used to draw a line on the GeoCanvas using the specified GeoPen.The DrawingLevel allows you to specify the level you will draw on when drawing multiple lines. This is very useful when you want to draw a road, for example. You can draw the black background on the lowest level, then draw a slightly thinner white line on a higher level. This will result in a great effect for a road.
Return Value
Type:Void
Description:N/A
Parameters
DrawEllipseCore(ScreenPointF,Single,Single,GeoPen,GeoBrush,DrawingLevel,Single,Single,PenBrushDrawingOrder)
Return Value
Type:Void
Description:N/A
Parameters
DrawScreenImageWithoutScalingCore(GeoImage,Single,Single,DrawingLevel,Single,Single,Single)
Drawing an image unscaled is faster than using the API that scales it.
Return Value
Type:Void
Description:N/A
Parameters
DrawScreenImageCore(GeoImage,Single,Single,Single,Single,DrawingLevel,Single,Single,Single)
Drawing an image scaled is slower than using the API that draws it unscaled.
Return Value
Type:Void
Description:N/A
Parameters
DrawTextCore(String,GeoFont,GeoBrush,GeoPen,IEnumerable<ScreenPointF>,DrawingLevel,Single,Single,Single)
This method is used to draw text on the GeoCanvas.The DrawingLevel allows you to specify the level you will draw on when drawing multiple text items. This is very useful when you want to draw a drop shadow, for example. You can draw the black backdrop on the lowest level with an offset, then draw the normal text on a higher level without an offset.
Return Value
Type:Void
Description:N/A
Parameters
MeasureTextCore(String,GeoFont)
Return Value
Parameters
BeginDrawingCore(Object,RectangleShape,GeographyUnit)
Return Value
Type:Void
Description:N/A
Parameters
ToNativeImageCore(GeoImage)
This method is a BaseClass API and will be used in its sub-concrete classes.
Return Value
Parameters
ToGeoImageCore(Object)
This method is a BaseClass API and will be implemented and used in its sub-concrete classes.
Return Value
Parameters
GetCanvasWidth(Object)
This method is a BaseClass API and will be implemented and used in its sub-concrete classes.
Return Value
Parameters
GetCanvasWidthCore(Object)
This method is a BaseClass API and will be implemented and used in its sub-concrete classes.
Return Value
Parameters
GetCanvasHeight(Object)
This method is a BaseClass API and will be implemented and used in its sub-concrete classes.
Return Value
Parameters
GetCanvasHeightCore(Object)
This method is a BaseClass API and will be implemented and used in its sub-concrete classes.
Return Value
Parameters
EndDrawingCore()
This methods should be called when you are finished drawing. It will commit the image changes to the image you passed in on BeginDrawing. It will also set IsDrawing to false. After you call this method it will put the GeoCanvas into an invalid state, so if you then call any drawing methods it will raise an exception.
Return Value
Type:Void
Description:N/A
Parameters
Finalize()
Return Value
Type:Void
Description:N/A
Parameters
MemberwiseClone()
Return Value
Type:Object
Description:N/A
Parameters
Public Properties
ClippingArea
Return Value
StyleSheet
Return Value
CurrentScale
Return Value
DrawingQuality
The DrawingQuality specifies whether BaseLineShapes, BasePointShapes, and BaseAreaShapes use anti-aliasing methods or other techniques that control the quality. In some cases you may want a higher quality rendering, and in other cases higher speed is more desirable. It is up to the implementer of the derived GeoCanvas class to control exactly what this setting means.
Return Value
MapUnit
Return Value
Width
Return Value
Height
Return Value
CurrentWorldExtent
Return Value
HasKeyColor
Return Value
KeyColors
Return Value
NativeImage
Return Value
IsDrawing
Return Value
Dpi
Return Value
Protected Properties
IsCancelled
Return Value
Public Events
DrawingProgressChanged