﻿Scale Method (Geometry, Double, Double, Point)
Returns a new Geometry which is a copy of the input Geometry scaled by the specified factors along the x and y axis, using the specified Point of origin..

Namespace:  ESRI.ArcGISExplorer.Geometry

Assembly:  ESRI.ArcGISExplorer (in ESRI.ArcGISExplorer.dll) Version: 2.0.0.1500 (2.0.0.1500)

Syntax

C#
```public static Geometry Scale(
Geometry inputGeometry,
double scaleX,
double scaleY,
Point origin
)```
Visual Basic (Declaration)
```Public Shared Function Scale ( _
inputGeometry As Geometry, _
scaleX As Double, _
scaleY As Double, _
origin As Point _
) As Geometry```

Parameters

inputGeometry
Type: ESRI.ArcGISExplorer.Geometry..::.Geometry

The Geometry to copy and scale.
scaleX
Type: System..::.Double

The factor by which to scale the geometry along the x-axis.
scaleY
Type: System..::.Double

The factor by which to scale the geometry along the y-axis.
origin
Type: ESRI.ArcGISExplorer.Geometry..::.Point

A Point to use as the origin of the scale operation.

Return Value

A new Geometry of the same type as the inputGeometry, scaled by the specified factors.

Remarks

You can use this overload of the Scale method to resize a geometry around a specified point of origin, and also change the aspect ratio; the geometry is stretched by different factors along both the x and y axis. You can use the Scale(Geometry, Double, Point) overloads to scale a geometry around a specified point and maintain the aspect ratio.

Examples

The code below gets the Note currently selected, and uses the GeometryOperations class to scale the Geometry of the Graphic of the Note by a factor of 2 using the bottom-left corner of the geometry's extent as the origin of the operation; this means the minimum X and Y coordinates of the geometry remain the same and the maximum X and Y coordinates change. The code assumes you have using statements for the Application, Geometry and Mapping namespaces.
CopyC#
```SelectedItemsCollection selItems = ESRI.ArcGISExplorer.Application.Application.SelectedItems;
if ((selItems.Count == 1) && (selItems[0] is Note))
{
Note selected = selItems[0] as Note;

// Get the bottom-left corner of the geometry.
Geometry geom = selected.Graphic.Geometry;
Envelope env = geom.GetEnvelope();
ESRI.ArcGISExplorer.Geometry.Point bottomLeft = new ESRI.ArcGISExplorer.Geometry.Point(env.XMin, env.YMin);

// Scale the geometry maintaining the aspect ratio, and using the bottom-left point as the origin
Geometry scaled = GeometryOperations.Scale(geom, 2, bottomLeft);
// Alternatively, scale with different x and y factors to change the aspect ratio.
// Geometry scaled = GeometryOperations.Scale(geom, 2, 1, bottomLeft);

// Update the geometry of the graphic.
selected.Graphic.Geometry = scaled;
}```
CopyVB.NET
```Dim selItems As SelectedItemsCollection = ESRI.ArcGISExplorer.Application.Application.SelectedItems

If selItems.Count = 1 AndAlso TypeOf selItems(0) Is Note Then
Dim selected As Note = selItems(0)

' Get the bottom-left corner of the geometry.
Dim geom As Geometry = selected.Graphic.Geometry
Dim env As Envelope = geom.GetEnvelope()
Dim bottomLeft As ESRI.ArcGISExplorer.Geometry.Point = New ESRI.ArcGISExplorer.Geometry.Point(env.XMin, env.YMin)

' Scale the geometry maintaining the aspect ratio, and using the bottom-left point as the origin

Dim scaled As Geometry = GeometryOperations.Scale(geom, 2, bottomLeft)
' Alternatively, scale with different x and y factors to change the aspect ratio.
' Dim scaled As Geometry = GeometryOperations.Scale(geom, 2, 1, bottomLeft)

' Update the geometry of the graphic.
selected.Graphic.Geometry = scaled
End If```