17.9 Coordinate Transformation
By default, the origin of the coordinate system is located in the upper left corner of the view area. The horizontal direction is the X axis, and the vertical direction is the Y axis. However, sometimes we need to change the position or direction of the coordinate axis. Common coordinate transformations include translation transformation, Rotation Transformation, and scaling transformation.
17.9.1 translation Transformation
Author: Liang binyu is a member of the book C #, which was published in early July.
BeginnerClassroom@163.com
Http://www.cnblogs.com/BeginnerClassroom
Translation transformation refers to translating the origin of the coordinate system from one position to another. We can implement translation transformation through the translatetransform () method of graphics.
The following example shows how to perform translation transformation.
Figure 17-16 "coordinate transformation" Window
Create a project named "transform" and add the control as follows:
Add three buttons, as shown in Figure 1.17-16.
Now add event processing for the "pan transform" buttonProgram.
Try: Translation Transformation
// Translation TransformationPrivate voidTranslatetransformbutton_click (ObjectSender,EventargsE ){// Rectangle to be drawnRectangle redrectangle =NewRectangle (NewPoint (0, 0 ),NewSize (120, 80 ));// Draw the image in the Original Coordinate SystemGraphics G = creategraphics (); G. fillrectangle (brushes. Red, redrectangle );// Draw a chart in the new Coordinate SystemG. translatetransform (150,120); G. fillrectangle (brushes. Red, redrectangle );}
In the above procedure, we have drawn the redrectangle rectangle twice. The top left corner of the rectangle is at the origin of the coordinate system, with a width of 120 pixels and a height of 80 pixels.
For the first time, we draw a rectangle in the default coordinate system. At this time, the origin of the coordinate system is in the upper left corner of the window (as shown in the real line). The graphics object draws a rectangle based on this reference, as shown in 17-17.
Figure 17-17 use the translation transformation method to draw the window of a rectangle
Then we use the following statement to perform coordinate translation and transformation. This statement translates the coordinate system to 150 pixels to the right and 120 pixels to the bottom, the origin of the coordinate system is moved from point A to point B (as shown in the dotted line ).
G. translatetransform (150,120 );
Horizontal offset vertical offset
The last time we draw a rectangle for the second time, the graphics object uses the new coordinate system as the reference, so the upper left corner of the rectangle is drawn at point B.
Although the redrectangle of the same rectangle is drawn twice, the actual position of the rectangle varies according to the coordinate system.
Once the coordinate system of the graphics object is changed, the graphics object will be drawn in the new coordinate system in the future. To restore the graphics object to the default coordinate system, use the following statement to clear the transformation.
G. resettransform ();
After the resettransform () method is executed, the coordinate system returns to the default state, and the graphics object returns to the default Coordinate System for plotting.
Author: Liang binyu is a member of the book C #, which was published in early July.
BeginnerClassroom@163.com
Http://www.cnblogs.com/BeginnerClassroom