c语言编写自己的图形函数 c语言是怎么写图形

怎么用c语言画函数图像?我画了半个正弦函数 , 其余的你可以照着画,欢迎讨论,
#include "stdio.h"
#include "conio.h"
#include "math.h"
【c语言编写自己的图形函数 c语言是怎么写图形】#include "graphics.h"
void main()
{
int driver,mode,i;
driver=DETECT;
mode=0;
initgraph(driver,mode,"");
setcolor(15);
for(i=0;i360;i++)
line(i,200*sin(i*3.14/360),i+1,200*sin((i+1)*3.14/360));
getch();
restorecrtmode();
}
求一个纯C语言绘图函数SDL可以做到 。给你贴个源码:
#includestdio.h
#includestdlib.h
#includeunistd.h
#includeSDL/SDL.h
#includeSDL/SDL_image.h
//函数声明
int Init(void);
SDL_Surface *createScreen(int width,int height,int bpp,Uint32 flags);
void destroyScreen(SDL_Surface *screen);
SDL_Surface *loadImageBMP(char *filename);
void loadImage(char *filename,SDL_Surface *screen,int xPos,int yPos);
SDL_Surface *screen;
SDL_Surface *image_handler;
char buffer[10];
int main(int argc,char *argv[])
{
int height=640,width=480;
int bpp=8;
Init();
screen = createScreen(width,height,bpp,SDL_SWSURFACE);
loadImage("./wuyajie.bmp",screen,width/2,height/4);
read(STDIN_FILENO,buffer,1);
destroyScreen(screen);
SDL_Quit();
return 0;
}
int Init(void)
{
if(SDL_Init(SDL_INIT_VIDEO)==-1)
{
fprintf(stderr,"SDL Init Error:%s\n",SDL_GetError());
exit(-1);
}
return 0;
}
/*
创建屏幕,并将屏幕设置为640x480大小
*/
SDL_Surface *createScreen(int width,int height,int bpp,Uint32 flags)
{
SDL_Surface *screen;
if((screen = SDL_SetVideoMode(width,height,bpp,flags))==NULL)
{
fprintf(stderr,"Could not create a screen:%s\n",SDL_GetError());
exit(-1);
}
return screen;
}
/*
加载图片
*/
void loadImage(char *filename,SDL_Surface *screen,int xPos,int yPos)
{
SDL_Surface *image;
SDL_Rect dest;
image = SDL_LoadBMP(filename);
if ( image == NULL ){
fprintf(stderr, "无法加载 %s: %s\n", filename, SDL_GetError());
exit(-1);
}
dest.x = xPos;
dest.y = yPos;
dest.w = image-w;
dest.h = image-h;
SDL_BlitSurface(image,NULL,screen,dest);
SDL_UpdateRects(screen,1,dest);
}
void destroyScreen(SDL_Surface * screen)
{
SDL_FreeSurface(screen);
}
计算机图形学作业;求大神解救?。。。〉饔肅语言的图形函数,完成: 1)编写函数MyDraw,实现下面图形的绘制.我不知道你要求的图形库是哪个图形库我用的是 EasyX , 和TurBo C差不多吧!代码如下,已注释
#include graphics.h
#include stdio.h
#define A 200 //起始边长
#define W 800 //窗口长度
#define H 600 //窗口高
void MyDraw(int a);
int main()
{
MyDraw(A);
return 0;
}
void MyDraw(int a)
{
int x0,y0;
int i=0;
x0=(W-A)/2;//计算起点坐标 X,Y
y0=(H-A)/2;
initgraph(W,H);//初始化
setlinecolor(RGB(255,0,0));//设置线条颜色
setlinestyle(0,3);//改变线条样式第二个参数改变 线条粗细
for(i=0;i5;i++)//重复画五次正方形
{
rectangle(x0,y0,x0+a,y0+a);//画正方形
if(i4)//如果已画完五个正方形则不改变边长和起点
{
x0+=(int)(a*0.1);
y0+=(int)(a*0.1);
a=(int)(a*0.8);
}
}
circle(x0+a/2,y0+a/2,a/2);//画圆
getchar();
closegraph();
}
截图:
C语言如何画图framebuffer(帧缓冲) 。
帧的最低数量为24(人肉眼可见)(低于24则感觉到画面不流畅) 。

推荐阅读