当前位置:首页 » 编程语言 » 用c语言画圆上色
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

用c语言画圆上色

发布时间: 2022-05-20 01:45:28

❶ 如何用c语言编写出一个同心圆并用不同的颜色进行填充,以及画出滚动的球或是流动的水这种动画

c语言在dos环境还是windows环境?还是linux环境????

在dos环境的话我这个基本无法,因为手头没有纯dos好多绘图相关的驱动都没法用。

要是在windows环境的话,可以先在窗口上画一个大圆,填充颜色1;然后缩小半径,画圆2,填充颜色2……以此类推,就得到同心圆了。

滚动的球的画要用到计时器timer,每隔一段时间,刷新屏幕,移动圆的位置就可以了。流水道理是一样的。

❷ 怎样用c语言画一个圆可以访问graphics.h库!circle函数怎样用

graphics.h 是 tc 下的,vc 下你安装了 easyx 也就有了,然后画圆这样:
#include <graphics.h> // 引用图形库
#include <conio.h>
void main()
{
initgraph(640, 480); // 初始化图形窗口
circle(100, 100, 60); // 画圆,圆心(100, 100),半径 60
getch(); // 按任意键继续
closegraph(); // 关闭图形界面
}

❸ C语言 给一个圆形填充颜色

第一floodfill第三个颜色参数一定要和被填充图画时的颜色一样.
第二,X,Y 一定要在被填充的图形内,边界上也是不行的,那样填充的是图形外的部分,如你上题,因是圆形,可改为
setcolor(1);
circle(200,200,100);
floodfill(200,200,1);
但如是长方形或正方形就一定要在边界之内,就是多一个像素都行

❹ 如何利用c语言程序设计绘制一个形状(圆,椭圆,矩形都可以),用线条动态地填充其内部

你的c 编译器需带 绘图函数库 才行。
c++ API 程序 可以绘图。只要得到窗口句柄,就可在该窗画图。画直线,多边形,圆,椭圆,扇形 等 都是基本函数。
下面程序在桌面窗口画线:
#include <Afxwin.h>
#include <Windows.h>
#pragma comment (lib, "User32.lib")
int main(void){
HWND hWnd = ::GetDesktopWindow();
HDC hdc = ::GetDC(hWnd);
// HDC hdc = ::GetDC(NULL);
RECT rect;
::GetWindowRect(hWnd, &rect);
::MoveToEx(hdc, 0, 0, NULL);
::LineTo(hdc, rect.right, rect.bottom);
::MoveToEx(hdc, rect.right, 0, NULL);
::LineTo(hdc, 0, rect.bottom);
::ReleaseDC(hWnd, hdc);
system("PAUSE");
return 0;
}
===
用“刷子”画填充的封闭图形 (参数是 花纹,颜色)
HBRUSH Brush[5];
case WM_PAINT:
Brush[0] = CreateHatchBrush(HS_BDIAGONAL, RGB(0, 0, 255));
Brush[1] = CreateHatchBrush(HS_CROSS, RGB(200, 0, 0));
Brush[2] = CreateHatchBrush(HS_DIAGCROSS, RGB(0, 128, 0));
Brush[3] = CreateHatchBrush(HS_FDIAGONAL, RGB(0, 128, 192));
Brush[4] = CreateHatchBrush(HS_DIAGCROSS, RGB(255, 128, 0));
----
编译器 MS VC++ 6.0.
API 程序罗嗦,这里就不列出来了。

❺ 用c语言怎么绘制线条,画圆

题目:画椭圆ellipse

程序源代码:
#include "stdio.h"
#include "graphics.h"
#include "conio.h"
main()
{
int x=360,y=160,driver=VGA,mode=VGAHI;
int num=20,i;
int top,bottom;
initgraph(&driver,&mode,"");
top=y-30;
bottom=y-30;
for(i=0;i<num;i++)
{
ellipse(250,250,0,360,top,bottom);
top-=5;
bottom+=5;
}
getch();
} 题目:利用ellipse and rectangle 画图。

程序源代码:
#include "stdio.h"
#include "graphics.h"
#include "conio.h"
main()
{
int driver=VGA,mode=VGAHI;
int i,num=15,top=50;
int left=20,right=50;
initgraph(&driver,&mode,"");
for(i=0;i<num;i++)
{
ellipse(250,250,0,360,right,left);
ellipse(250,250,0,360,20,top);
rectangle(20-2*i,20-2*i,10*(i+2),10*(i+2));
right+=5;
left+=5;
top+=10;
}
getch();
} 题目:画图,学用circle画圆形。

程序源代码:
/*circle*/
#include "graphics.h"
main()
{int driver,mode,i;<br>float j=1,k=1;<br>driver=VGA;mode=VGAHI;<br>initgraph(&driver,&mode,"");<br>setbkcolor(YELLOW);<br>for(i=0;i<=25;i++)<br>{<br>setcolor(8);<br>circle(310,250,k);<br>k=k+j;<br>j=j+0.3;<br>}
} 题目:画图,学用line画直线。

程序源代码:
#include "graphics.h"
main()
{int driver,mode,i;<br>float x0,y0,y1,x1;<br>float j=12,k;<br>driver=VGA;mode=VGAHI;<br>initgraph(&driver,&mode,"");<br>setbkcolor(GREEN);<br>x0=263;y0=263;y1=275;x1=275;<br>for(i=0;i<=18;i++)<br>{<br>setcolor(5);<br>line(x0,y0,x0,y1);<br>x0=x0-5;<br>y0=y0-5;<br>x1=x1+5;<br>y1=y1+5;<br>j=j+10;<br>}
x0=263;y1=275;y0=263;
for(i=0;i<=20;i++)
{
setcolor(5);
line(x0,y0,x0,y1);
x0=x0+5;
y0=y0+5;
y1=y1-5;
}
} 这几个好好看看吧

❻ C语言给圆填色

1、没有问题,确认circle(200,200,100)是红色的。
2、使用fillellipse(x,y,r1,r2);

❼ 怎样用C语言画圆

#include <windows.h>
#include <string.h>
#include <stdio.h>
#include <stdlib.h>

int main(int argc, char* argv[])
{
char arg[50]={0};
arg[0]= '\ " ';
strcpy(arg+1,argv[0]);
int len=int(strlen(arg));
arg[len]= '\ " ';

HWND hWnd=FindWindow(NULL,arg); //找到程序运行窗口的句柄
HDC hDC=GetDC(hWnd);//通过窗口句柄得到该窗口的设备场境句柄
HPEN hPen,hOldPen; //画笔
int i=0;

for(;i <500;++i)
SetPixel(hDC,10+i,10+i,0x0000ff);//用画点的办法画一根线,最后一个参数是颜色(32位)

hPen=CreatePen(PS_SOLID,2,0x00ff00);//生成绿色画笔
hOldPen=(HPEN)SelectObject(hDC,hPen);//把画笔引入设备场境

MoveToEx(hDC,20,50,NULL); //设置画线起点
LineTo(hDC,520,550); //画到终点

Arc(hDC,100,100,300,300,350,500,350,500);//画圆

SelectObject(hDC,hOldPen);
ReleaseDC(hWnd,hDC);

//下面是对比,表明它确实是控制台程序

printf( "hello console ");
system( "pause ");
return 0;

}

❽ C语言画圆的格式是DrawFillCircle(x,y,1,color),问画圆弧的格式是什么

用arc() 可画圆弧
功能: 函数arc()使用当前绘图色并以实线画一圆弧。
用法: 函数调用方式为void arc(int x,int y,int startangle,int endangle,int radius);
说明: 参数x,y为圆心坐标,startangle与endangle分别为起始角与终止角,radius为半径。圆心坐标和半径以像素个数给出,起始角和终止角以度为单位,0度位于右边,90度位于顶部,180度位于左边,底部是270度。同往常一样,360度与0度重合。角度按逆时针方向增加,但并不要求终止角一定比起始角大。例如指定300度和90度分别为起始角和终止角,与指定300度和450度分别为起始角和终止角可画出相同的弧。大于360度可作为参数,它将被化到0度 ̄360度范围里。函数arc()能画封闭圆,只要取起始角为0度,终止角为360度即可。此函数中,屏显纵横比可自动调节。

❾ 用C语言画圆,但不要库里的函数画,直接用代码怎么画

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

#define R 10 //半径
#define X 10 //圆心x坐标
#define Y 10 //圆心Y坐标

int main(void)
{
int x,y;
int m;
int i;

for(i=Y-R;i>=1;i--)
{
printf("\n");
}
for(y=R;y>=-R;y--)
{
m=2*sqrt(R*R - y*y); //横坐标的偏移量,因为字体长宽比例为2,所以要乘2
for(x=1;x<X+R-m;x++) //打印左半圆
{
printf(" ");
}
printf("*");

for(;x<X+R+m;x++) //打印右半圆
{
printf(" ");
}
printf("*\n");
}
}

❿ C语言如何画图

framebuffer(帧缓冲)。
帧的最低数量为24(人肉眼可见)(低于24则感觉到画面不流畅)。
显卡与帧的关系:由cpu调节其数据传输速率来输出其三基色的配比。
三基色:RGB(红绿蓝)。

在没有桌面和图形文件的系统界面,可以通过C语言的编程来实现在黑色背景上画图!

用下面的代码,在需要的地方(有注释)适当修改,就能画出自己喜欢的图形!

PS:同样要编译运行后才能出效果。

  • #include <stdio.h>

  • #include <sys/mman.h>

  • #include <fcntl.h>

  • #include <linux/fb.h>

  • #include <stdlib.h>

  • #define RGB888(r,g,b) ((r & 0xff) <<16 | (g & 0xff) << 8 | (b & 0xff))

  • #define RGB565(r,g,b) ((r & 0x1f) <<11 | (g & 0x3f) << 5 | (b & 0x1f))

  • int main()

  • {

  • int fd = open("/dev/fb0", O_RDWR);

  • if(fd < 0){

  • perror("open err. ");

  • exit(EXIT_FAILURE);

printf("xres: %d ", info.xres);

printf("yres: %d ", info.yres);

printf("bits_per_pixel: %d ", info.bits_per_pixel);

size_t len = info.xres*info.yres*info.bits_per_pixel >> 3;

unsigned long* addr = NULL;

addr = mmap(NULL, len, PROT_WRITE|PROT_READ, MAP_SHARED, fd, 0);

if(addr == (void*)-1){

perror("mmap err. ");