本文实例讲述了C#中GraphicsPath的Warp方法用法。分享给大家供大家参考。具体实现方法如下:
using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Text;using System.Windows.Forms;using System.Drawing.Drawing2D;namespace advanced_drawing{ public partial class Form13 : Form { public Form13() { InitializeComponent(); } private void Form13_Paint(object sender, PaintEventArgs e) { // Create a path and add a rectangle. GraphicsPath myPath = new GraphicsPath(); RectangleF srcRect = new RectangleF(0, 0, 100, 200); myPath.AddRectangle(srcRect); // Draw the source path (rectangle)to the screen. e.Graphics.DrawPath(Pens.Black, myPath); // Create a destination for the warped rectangle. PointF point1 = new PointF(200, 200); PointF point2 = new PointF(400, 250); PointF point3 = new PointF(220, 400); PointF[] destPoints = { point1, point2, point3 }; // Create a translation matrix. Matrix translateMatrix = new Matrix(); translateMatrix.Translate(100, 0); // Warp the source path (rectangle). myPath.Warp(destPoints, srcRect, translateMatrix, WarpMode.Perspective, 0.5f); // Draw the warped path (rectangle) to the screen. e.Graphics.DrawPath(new Pen(Color.Red), myPath); } }}
希望本文所述对大家的C#程序设计有所帮助。
新闻热点
疑难解答