Matrix::Scale Method (Single, Single, MatrixOrder)
Applies the specified scale vector (scaleX and scaleY) to this Matrix using the specified order.
Assembly: System.Drawing (in System.Drawing.dll)
Parameters
- scaleX
-
Type:
System::Single
The value by which to scale this Matrix in the x-axis direction.
- scaleY
-
Type:
System::Single
The value by which to scale this Matrix in the y-axis direction.
- order
-
Type:
System.Drawing.Drawing2D::MatrixOrder
A MatrixOrder that specifies the order (append or prepend) in which the scale vector is applied to this Matrix.
The following code example is designed for use with Windows Forms, and it requires PaintEventArgse, an Paint event object. The code performs the following actions:
Draws a rectangle to the screen prior to applying a scaling transform (the blue rectangle).
Creates a matrix and scales it by 3 in the x-axis and 2 in the y-axis.
Applies this matrix transform to the rectangle.
Draws the transformed rectangle to the screen (the red rectangle).
Notice that the red rectangle has been scaled by a factor of 3 in the x-axis and by 2 in the y-axis, including the upper left-hand corner of the rectangle (the beginning point of the rectangle).
public: void ScaleExample( PaintEventArgs^ e ) { Pen^ myPen = gcnew Pen( Color::Blue,1.0f ); Pen^ myPen2 = gcnew Pen( Color::Red,1.0f ); // Draw the rectangle to the screen before applying the // transform. e->Graphics->DrawRectangle( myPen, 50, 50, 100, 100 ); // Create a matrix and scale it. Matrix^ myMatrix = gcnew Matrix; myMatrix->Scale( 3, 2, MatrixOrder::Append ); // Draw the rectangle to the screen again after applying the // transform. e->Graphics->Transform = myMatrix; e->Graphics->DrawRectangle( myPen2, 50, 50, 100, 100 ); }
Available since 1.1