Graphics::D rawBezier(constPen*,INT,INT,INT) 方法 (gdiplusgraphics.h)
Graphics::D rawBezier 方法會繪製 Bézier 曲線。
語法
Status DrawBezier(
[in] const Pen *pen,
[in] INT x1,
[in] INT y1,
[in] INT x2,
[in] INT y2,
[in] INT x3,
[in] INT y3,
[in] INT x4,
[in] INT y4
);
參數
[in] pen
類型:const Pen*
用來繪製貝氏曲線的畫筆指標。
[in] x1
類型:INT
整數,指定貝氏曲線起點的 X 座標。
[in] y1
類型:INT
整數,指定貝氏曲線起點的Y座標。
[in] x2
類型:INT
整數,指定貝塞爾曲線第一個控制點的 X 座標。
[in] y2
類型:INT
整數,指定貝塞爾曲線第一個控制點的 Y 座標
[in] x3
類型:INT
整數,指定貝塞爾曲線第二個控制點的 X 座標。
[in] y3
類型:INT
整數,指定貝塞爾曲線第二個控制點的 Y 座標。
[in] x4
類型:INT
整數,指定貝氏曲線結束點的 X 座標。
[in] y4
類型:INT
整數,指定貝氏曲線結束點的Y座標
傳回值
類型:狀態
如果方法成功,它會傳回Ok,這是 Status 列舉的元素。
如果方法失敗,它會傳回 Status 列舉的其他元素之一。
言論
貝塞爾曲線不會通過其控制點。 控制點充當磁石,以特定方向拉曲線,以影響貝塞爾曲線彎曲的方式。
例子
下列範例會繪製貝塞爾曲線。
VOID Example_DrawBezier3(HDC hdc)
{
Graphics graphics(hdc);
// Set up the pen and curve points.
Pen greenPen(Color(255, 0, 255, 0));
int startPointx = 100;
int startPointy = 100;
int ctrlPoint1x = 200;
int ctrlPoint1y = 10;
int ctrlPoint2x = 350;
int ctrlPoint2y = 50;
int endPointx = 500;
int endPointy = 100;
//Draw the curve.
graphics.DrawBezier(
&greenPen,
startPointx,
startPointy,
ctrlPoint1x,
ctrlPoint1y,
ctrlPoint2x,
ctrlPoint2y,
endPointx,
endPointy);
//Draw the end points and control points.
SolidBrush redBrush(Color(255, 255, 0, 0));
SolidBrush blueBrush(Color(255, 0, 0, 255));
graphics.FillEllipse(&redBrush, 100 - 5, 100 - 5, 10, 10);
graphics.FillEllipse(&redBrush, 500 - 5, 100 - 5, 10, 10);
graphics.FillEllipse(&blueBrush, 200 - 5, 10 - 5, 10, 10);
graphics.FillEllipse(&blueBrush, 350 - 5, 50 - 5, 10, 10);
}
要求
要求 | 價值 |
---|---|
最低支援的用戶端 | Windows XP、Windows 2000 Professional [僅限傳統型應用程式] |
支援的最低伺服器 | Windows 2000 Server [僅限傳統型應用程式] |
目標平臺 | 窗戶 |
標頭 | gdiplusgraphics.h (包括 Gdiplus.h) |
連結庫 | Gdiplus.lib |
DLL | Gdiplus.dll |