windows程序设计(十)图形基础(2)

边界框函数

边界框函数有很多,常见的边界框函数有Arc 、Ellipse 、Rectangle 、RoundRect、Chord 、Pie 。这些函数严格意义上来讲不算是画线函数。这些函数是在画线,但它们同时又填入画刷填入一个封闭区域。
上面提到的函式有一个共同特性,即它们都是依据一个矩形边界框来绘图 的。定义一个包含该物件的框,即边界框(bounding box),Windows 就在这个框内画出该物件。
最简单的函数就是Rectangle函数。

BOOL Rectangle(
  HDC hdc,
  int left,
  int top,
  int right,
  int bottom
);

点(left,top)为矩形的左上角,(right,bottom)是矩形的右下角,下图为该函数画出的矩形,矩形的边总是垂直或者平行于显示器。
在这里插入图片描述
Windows 在边界框内画图。可以将显示器想像成一个网格, 其中,每个图素都在一个网格单元内。边界框画在网格上,然后在边界框内画 矩形,下面说明了图形画出来时的样子:
在这里插入图片描述
Rectangle并不算作严格画线函数,GDI也会填入到封闭区域,只不过由于使用白色填入封闭区域内不明显。
下面是使用Rectangle函数的例子

/*
例1:Rectangle函数的使用
*/
LRESULT CALLBACK WndProc(HWND hwnd, UINT message, WPARAM wparam, LPARAM lparam) {
   
   

	HDC hdc;
	static int cxClient, cyClient;
	int i;
	PAINTSTRUCT ps;
	RECT rect;


	switch (message)
	{
   
   
	case WM_SIZE:
		cxClient = LOWORD(lparam);
		cyClient = HIWORD(lparam);
		return 0;
	case WM_PAINT:
		hdc = BeginPaint(hwnd, &ps);
		GetClientRect(hwnd, &rect);
		Rectangle(hdc, 0, 0
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值