當前位置:首頁 » 編程語言 » 用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. ");