⑴ 用C或者C++实现图形方法。
这个要调用到图形库头文件#include<graphic.h>,,但是要先安装EasyX插件,因为VC没有这个库,TC有,下载那个之后然后网上有很多教你用c语言画图的,比如:
OLORREF getpixel(int x, int y); // 获取点的颜色
void putpixel(int x, int y, COLORREF color); // 画点
void moveto(int x, int y); // 移动当前点(绝对坐标)
void moverel(int dx, int dy); // 移动当前点(相对坐标)
void line(int x1, int y1, int x2, int y2); // 画线
void linerel(int dx, int dy); // 画线(至相对坐标)
void lineto(int x, int y); // 画线(至绝对坐标)
void rectangle(int left, int top, int right, int bottom); // 画矩形
void getarccoords(int *px, int *py, int *pxstart, int *pystart, int *pxend, int *pyend); // 获取圆弧坐标信息
void arc(int x, int y, int stangle, int endangle, int radius); // 画圆弧
void circle(int x, int y, int radius); // 画圆
void pieslice(int x, int y, int stangle, int endangle, int radius); // 画填充圆扇形
void ellipse(int x, int y, int stangle, int endangle, int xradius, int yradius);// 画椭圆弧线
void fillellipse(int x, int y, int xradius, int yradius); // 画填充椭圆
void sector(int x, int y, int stangle, int endangle, int xradius, int yradius); // 画填充椭圆扇形
void bar(int left, int top, int right, int bottom); // 画无边框填充矩形
void bar3d(int left, int top, int right, int bottom, int depth, bool topflag); // 画有边框三维填充矩形
void drawpoly(int numpoints, const int *polypoints); // 画多边形
void fillpoly(int numpoints, const int *polypoints); // 画填充的多边形
void floodfill(int x, int y, int border); // 填充区域
⑵ TC2.0中用C语言语句画图应该用什么函数
要#include<graphic.h>
// 绘图函数
COLORREF getpixel(int x, int y); // 获取点的颜色
void putpixel(int x, int y, COLORREF color); // 画点
void moveto(int x, int y); // 移动当前点(绝对坐标)
void moverel(int dx, int dy); // 移动当前点(相对坐标)
void line(int x1, int y1, int x2, int y2); // 画线
void linerel(int dx, int dy); // 画线(至相对坐标)
void lineto(int x, int y); // 画线(至绝对坐标)
void rectangle(int left, int top, int right, int bottom); // 画矩形
void getarccoords(int *px, int *py, int *pxstart, int *pystart, int *pxend, int *pyend); // 获取圆弧坐标信息
void arc(int x, int y, int stangle, int endangle, int radius); // 画圆弧
void circle(int x, int y, int radius); // 画圆
void pieslice(int x, int y, int stangle, int endangle, int radius); // 画填充圆扇形
void ellipse(int x, int y, int stangle, int endangle, int xradius, int yradius);// 画椭圆弧线
void fillellipse(int x, int y, int xradius, int yradius); // 画填充椭圆
void sector(int x, int y, int stangle, int endangle, int xradius, int yradius); // 画填充椭圆扇形
void bar(int left, int top, int right, int bottom); // 画无边框填充矩形
void bar3d(int left, int top, int right, int bottom, int depth, bool topflag); // 画有边框三维填充矩形
void drawpoly(int numpoints, const int *polypoints); // 画多边形
void fillpoly(int numpoints, const int *polypoints); // 画填充的多边形
void floodfill(int x, int y, int border); // 填充区域
⑶ 如何利用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语言:通过输入扇形半径和圆心角度数求扇形面积和弧长
#include <stdio.h>
int main(){
float s,l,a,r;
printf("请输入扇形半径r和圆心角a(r,a):");
scanf("%f,%f",&r,&a);
s=0.5*a*r*r;
l=a*r;
printf("s=%.2f,l=%.2f\n",s,l);
return 0;
}
⑸ 悬赏100大洋,我全部身价,求C语言画图
TC中才有C语言的图形库VC中没有。。
要#include<graphic.h>
// 绘图函数
COLORREF getpixel(int x, int y); // 获取点的颜色
void putpixel(int x, int y, COLORREF color); // 画点
void moveto(int x, int y); // 移动当前点(绝对坐标)
void moverel(int dx, int dy); // 移动当前点(相对坐标)
void line(int x1, int y1, int x2, int y2); // 画线
void linerel(int dx, int dy); // 画线(至相对坐标)
void lineto(int x, int y); // 画线(至绝对坐标)
void rectangle(int left, int top, int right, int bottom); // 画矩形
void getarccoords(int *px, int *py, int *pxstart, int *pystart, int *pxend, int *pyend); // 获取圆弧坐标信息
void arc(int x, int y, int stangle, int endangle, int radius); // 画圆弧
void circle(int x, int y, int radius); // 画圆
void pieslice(int x, int y, int stangle, int endangle, int radius); // 画填充圆扇形
void ellipse(int x, int y, int stangle, int endangle, int xradius, int yradius);// 画椭圆弧线
void fillellipse(int x, int y, int xradius, int yradius); // 画填充椭圆
void sector(int x, int y, int stangle, int endangle, int xradius, int yradius); // 画填充椭圆扇形
void bar(int left, int top, int right, int bottom); // 画无边框填充矩形
void bar3d(int left, int top, int right, int bottom, int depth, bool topflag); // 画有边框三维填充矩形
void drawpoly(int numpoints, const int *polypoints); // 画多边形
void fillpoly(int numpoints, const int *polypoints); // 画填充的多边形
void floodfill(int x, int y, int border); // 填充区域
⑹ c语言 绘制饼图
#include <math.h>
#include <graphics.h>
#define PI 3.141593
main ()
{
char s[30];
float values[4]={19,26,33,22};
char *categories[10]={"1","2","3","4","5","6","7","8","9","10"};
char *name[4]={"IBM","HP","COMPAQ","DELL"};
double x,y,bega,enda,midangle;
float total;
int radius,begangle,endangle;
int i,graphdriver,graphmode;
graphdriver=DETECT;
initgraph(&graphdriver,&graphmode,"");
cleardevice();
setviewport(10,10,639,479,1);
setcolor(GREEN);
rectangle(20,20,600,460);
total=0;
for(i=0;i<=3;i++) total+=values[i];
begangle=0;
radius=140;
rectangle(530,40,590,115);
for(i=0;i<=3;i++)
{
endangle=360*values[i]/total+begangle;
bega=begangle*PI/180;
enda=endangle*PI/180;
midangle=(bega+enda)/2;
x=300+cos(midangle)*radius*1.5;
y=240-sin(midangle)*radius*1.2;
sprintf(s,"%3.2f",values[i]/total*100);
setcolor(WHITE);
setfillstyle(1,i+2);
pieslice(300,240,begangle,endangle+2,radius);
outtextxy(x,y,s);
outtextxy(x,y-20,name[i]);
rectangle(540,55+12*i,560,60+12*i);
floodfill(550,57+12*i,WHITE);
outtextxy(565,57+12*i,categories[i]);
begangle=endangle;
}
getch();
closegraph();
}
⑺ 高分求c语言课设 图形旋转问题
#include <graphics.h>
#include <conio.h>
#include <math.h>
#include <stdio.h>
#define PI 3.1415926
int s_x1=150,s_y1=150,s_x2=150,s_y2=250,s_x3=250,s_y3=250,s_x4=250,s_y4=150;
int s_centerx=200,s_centery=200;
int t_x1=200,t_y1=150,t_x2=245,t_y2=245,t_x3=155,t_y3=245;
int t_centerx=200,t_centery=210;
int f_centerx=150,f_centery=250,f_sa=60,f_ea=120,radius=50;
int f_x1=125,f_y1=207,f_x2=175,f_y2=207;
void drawSquare()
{
line(s_x1,s_y1,s_x2,s_y2);
line(s_x2,s_y2,s_x3,s_y3);
line(s_x3,s_y3,s_x4,s_y4);
line(s_x4,s_y4,s_x1,s_y1);
}
void drawTriangle()
{
line(t_x1,t_y1,t_x2,t_y2);
line(t_x2,t_y2,t_x3,t_y3);
line(t_x3,t_y3,t_x1,t_y1);
}
void drawFan()
{
arc(f_centerx,f_centery,f_sa,f_ea,radius);
line(f_x1,f_y1,f_centerx,f_centery);
line(f_x2,f_y2,f_centerx,f_centery);
}
void convert(int *x,int *y,int xc,int yc,double _angle)
{
int xt=*x,yt=*y;
*x=(int)(xc+(xt-xc)*cos(_angle)-(yt-yc)*sin(_angle));
*y=(int)(yc+(yt-yc)*cos(_angle)+(xt-xc)*sin(_angle));
}
void rotate(int angle,int choice)
{
double _angle=angle*PI/180;
if(choice==1)
{
convert(&s_x1,&s_y1,s_centerx,s_centery,_angle);
convert(&s_x2,&s_y2,s_centerx,s_centery,_angle);
convert(&s_x3,&s_y3,s_centerx,s_centery,_angle);
convert(&s_x4,&s_y4,s_centerx,s_centery,_angle);
}
else
{
if (choice==2)
{
convert(&t_x1,&t_y1,t_centerx,t_centery,_angle);
convert(&t_x2,&t_y2,t_centerx,t_centery,_angle);
convert(&t_x3,&t_y3,t_centerx,t_centery,_angle);
}
else
{
convert(&f_x1,&f_y1,f_centerx,f_centery,_angle);
convert(&f_x2,&f_y2,f_centerx,f_centery,_angle);
f_sa-=angle,f_ea-=angle;
}
}
}
int main()
{
int graphdriver = DETECT, graphmode;
int choice,angle;
initgraph(&graphdriver, &graphmode, "..\\bgi");
printf("*******************\n");
printf("1 draw square\n");
printf("2 draw triangle\n");
printf("3 draw fan\n");
printf("4 exit\n");
printf("*******************\n");
printf("please input a number to select your operation\n");
scanf("%d",&choice);
switch (choice)
{
case 1:drawSquare();break;
case 2:drawTriangle();break;
case 3:drawFan();break;
default: {closegraph();return 0;}
}
printf("please input a number(between 0 and 360) to rotate\n");
scanf("%d",&angle);
rotate(angle,choice);
switch (choice)
{
case 1:drawSquare();break;
case 2:drawTriangle();break;
case 3:drawFan();break;
}
getch();
return 0;
}
程序如上,我已经运行过了,可以运行,有问题我可以传给你源文件,和上面的也是一样。
⑻ c语言程序设计
难啊
⑼ 程序设计 图形动画设计 最好是C语言编程的(vb也行)
用VB很容易。无非就是按下个按钮就在后台执行一段简单的绘图代码。
碰壁那个的话,也不难,注意下圆自身的半径,还有注意判断边界条件即可。