窗口画圆c

窗口画圆

#include <stdio.h>
#include <stdlib.h>
#include <Windows.h>
#include <math.h>

#define  PI  3.1415926
#define   R   100




void  main1() {

	int px = 400;
	int py = 500;//为圆心
	//HWND win = FindWindowA("QWidgt","Google Earth");
	HWND win = FindWindowA("QWidgt","Google Earth");
	if (win == NULL) {
		printf("can not find");
	}
	else {
		int angle = 0;  //角度


		while (1) {
			int x;
			int y;
			x = px + cos(angle*PI/180)*R;
			y = py + sin(angle*PI / 180)*R;
			SetWindowPos(win, NULL, x, y, 500, 500, 1);//1不会改变大小

			angle++;
			if (angle == 360) {
				angle = 0;
			}
			Sleep(20);
		}


	}


	system("pause");
}

蜜蜂画圆8字形

#include <stdio.h>
#include <stdlib.h>
#include <Windows.h>
#include <math.h>

#define  PI  3.1415926
#define   R   100




void  main() {

	int px1 = 400;
	int px2 = 800;
	int py = 500;//为圆心
				 //HWND win = FindWindowA("QWidgt","Google Earth");
	HWND win = FindWindowA("Notepad", "新建文本文档.txt - 记事本");
	if (win == NULL) {
		printf("can not find");
	}
	else {
		int angle = 0;  //角度
		int status = 1;

		while (1) {
			if (angle == 0) {
				if (status == 1) { //1.0标示不同的圆上运动
					status = 0;
				}
				else {
					status = 1;
				}
			}



			int x;
			int y;

			if (status == 0) {	   //顺时针移动 
				x = px2 - cos(angle*PI/180)*R;
				y = py -sin(angle*PI/180)*R;
				//SetWindowPos(win, NULL, x, y, 500, 500, 1);//1不会改变大小
			}
			else {	 //逆时针移动
				x = px1 + cos(angle*PI / 180)*R;
				y = py - sin(angle*PI / 180)*R;
				//SetWindowPos(win, NULL, x, y, 500, 500, 1);//1不会改变大小
			}
			//SetWindowPos(win, NULL, x, y, 500, 500, 1);//1不会改变大小
			MoveWindow(win, x, y,300, 300, 1);

			angle++;
			if (angle == 360) {
				angle = 0;
			}
			Sleep(10);
		}


	}


	system("pause");
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要在C语言中创建一个窗口并绘制形,你可以使用图形库,如OpenGL或SDL。以下是使用SDL库创建窗口和绘制形的示例代码: ```c #include <SDL2/SDL.h> int main() { SDL_Init(SDL_INIT_VIDEO); SDL_Window *window = SDL_CreateWindow("My Window", SDL_WINDOWPOS_UNDEFINED, SDL_WINDOWPOS_UNDEFINED, 640, 480, SDL_WINDOW_SHOWN); SDL_Renderer *renderer = SDL_CreateRenderer(window, -1, SDL_RENDERER_ACCELERATED); SDL_SetRenderDrawColor(renderer, 255, 255, 255, 255); SDL_RenderClear(renderer); SDL_SetRenderDrawColor(renderer, 0, 0, 255, 255); SDL_Rect rect = { 50, 50, 100, 100 }; SDL_RenderDrawRect(renderer, &rect); SDL_SetRenderDrawColor(renderer, 255, 0, 0, 255); int x = 200; int y = 200; int radius = 50; for (float i = 0; i < 360; i += 0.1) { float rad = i * M_PI / 180; int px = cos(rad) * radius + x; int py = sin(rad) * radius + y; SDL_RenderDrawPoint(renderer, px, py); } SDL_RenderPresent(renderer); SDL_Delay(5000); SDL_DestroyRenderer(renderer); SDL_DestroyWindow(window); SDL_Quit(); return 0; } ``` 在这个示例代码中,我们使用SDL_Init函数初始化SDL库,并使用SDL_CreateWindow函数创建一个640x480像素的窗口。我们使用SDL_CreateRenderer函数创建一个渲染器,然后使用SDL_SetRenderDrawColor函数设置绘制颜色。我们使用SDL_RenderClear函数清除渲染器,并使用SDL_RenderDrawRect函数绘制一个矩形。最后,我们使用一个for循环绘制一个形,并使用SDL_RenderPresent函数将渲染结果显示在窗口上。 请注意,这只是一个简单的示例代码,你可以根据自己的需求进行修改和扩展。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值