重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
我画了半个正弦函数,其余的你可以照着画,欢迎讨论,
梅县ssl适用于网站、小程序/APP、API接口等需要进行数据传输应用场景,ssl证书未来市场广阔!成为创新互联的ssl证书销售渠道,可以享受市场价格4-6折优惠!如果有意向欢迎电话联系或者加微信:13518219792(备注:SSL证书合作)期待与您的合作!
#include "stdio.h"
#include "conio.h"
#include "math.h"
#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();
}
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. \n");
exit(EXIT_FAILURE);
printf("xres: %d\n", info.xres);
printf("yres: %d\n", info.yres);
printf("bits_per_pixel: %d\n", 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. \n");
与图形有关的函数
GRAPHICS.H 库文件
bar
【功能】画出一条栏目。
【原型】void far bar(int left,int top,int right,int bottom)
【位置】graphics.hgraphics.h
【参见】bar3d,setfillstyle,rectangle
bar3d
【功能】画出一条3-D栏目。
【原型】void far bar3d(int left,int top,int right,int bottom,int depth,int topflag)
【位置】graphics.h
【参见】bar
circle
【功能】以(x,y)为圆心按照指定的半径画出一个圆。
【原型】void far circle(int x,int y,int radius)
【位置】graphics.h
【参见】arc
cleardevice
【功能】清除图形画面。
【原型】void far cleardevice(void)
【位置】graphics.h
【参见】clearviewport
clearviewport
【功能】清除当前可视区域。
【原型】clearviewport(void)
【位置】graphics.h
【参见】setviewport,cleardevice
closegraph
【功能】关闭图形系统。
【原型】void far closegraph(void)
【位置】graphics.h
【参见】initgraph
detecgraph
【功能】通过检查硬件确定使用的图形驱动程序和模式。
【原型】void far detectgraph(int far *graphdriver,int far *graphmode)
【位置】graphics.h
【参见】initgraph,graphresult
drawpoly
【功能】画出一个多边形的轮廓。
【原型】void far drawpoly(int numpoints,int far polypoints[])
【位置】graphics.h
【说明】polypoints中包括一共numpoints对数值。其中每一对都给出了多边形中一个顶点的x和y值。
【参见】fillpoly
ellipse
【功能】画出一条椭圆形的圆弧。
【原型】void far ellipse(int x,int y,int stangle,int endangle,int xradius,int yradius)
【位置】graphics.h
【说明】中心点在(x,y),stangle和endangle表示一角度为单位的起始角和终止角。Xradius和yradius表示水平轴和垂直轴。
【参见】arc,circle,fillellipse
fillellipose
【功能】画出椭圆形圆弧,并填充。
【原型】void far fillllipse(int x,int y,int xradius,int yradius)
【位置】graphics.h
【说明】使用(x,y)作为中心点,然后使用当前的填充模式填充圆弧。Xradius和yradius表示水平轴和垂直轴。
【参见】arc,circle,ellipse,pieslice
fillpoly
【功能】画出一个多边形,并填充。
【原型】void far fillpoly(int numpoints,int far polypoints[])
【位置】graphics.h
【说明】polypoints中包含有numpoints对数值。其中每一对给出了多边形一个顶点的x值和y值。
【参见】drawpoly,fill_patterns,floodfill,graphresult,setfillstyle
floodfill
【功能】填充一个有界区域范围。
【原型】void far floodfill(int x,int y,int border)
【位置】graphics.h
【参见】drawpoly,fillpoly,fill_patterns,graphresult,setfillstyle
getarccoords
【功能】得到最后一次调用arc的坐标值。
【原型】void far getaerccoords(struct arccoordstype far *arccoords)
【位置】graphics.h
【参见】arc
getaspectratio
【功能】得到当前图形模式的纵横比。
【原型】void far getaspectratio(int far *xasp,int far *yasp)
【位置】graphics.h
【说明】are及类似函数使用纵横比令圆圈更加圆,而不会像椭圆。Yasp应当为10000。当象素为VGA平方并且10000时,xasp使用10000数值。
【参见】arc,setaspectratio
getbkcolor
【功能】返回当前背景颜色。
【原型】int far getbkcolor(void)
【位置】graphics.h
【参见】setbkcolor,getcolor,getpalette
getcolor
【功能】返回当前画笔的颜色。
【原型】int far getcolor(void)
【位置】graphics.h
【参见】getbkcolor,setcolor,getmaxcolor,getpalette
getdefaultpalette
【功能】返回调色板定义结构。
【原型】struct palettetype *far getdefaultpalette(void)
【位置】graphics.h
【说明】返回一个指针,指向调用initgraph初始化时,当前驱动程序的默认调色板结构。
【参见】getpalette,initgraph
getdrivername
【功能】返回一个指针,指向当前图形驱动程序的名称。
【原型】char *far getdrivername(void)
【位置】graphics.h
【说明】返回的指针指向标识当前驱动器程序的字符串,从而可以探测到硬件适配器。
【参见】initgraph
getfillpattern
【功能】将用户定义的填充模式复制到内存中。
【原型】void far getfillpattern(char far *pattern)
【位置】graphics.h
【参见】getfillsettings,setfillpattern,fill_patterns
getfillsettings
【功能】得到当前填充模式及其颜色的有关信息。
【原型】void far getfillsettings(struct fillsettingstype far *fillinfo)
【位置】graphics.h
【参见】floodfill, fillpoly, setfillstyple, pieslice, setfillpattern, bar3d, bar, getfillpattern
getgraphmode
【功能】返回当前图形模式。
【原型】int far getgraphmode(void)
【位置】graphics.h
【说明】必须先调用initgraph或者setgraphmode。
【参见】setmoderange,restorectrtmode
getimage
【功能】将制定区域的位图保存到内存中。
【原型】void far getimage(int left,int top,int right,int bottom,void far *bitmap)
【位置】graphics.h
【参见】imagesize,putimage
因为太多了,无法一一列出。比如下面的:
putimage
putpixel
rectangle
registerbgidriver
registerbgifont
restorecrtmode
sector
setactivepage
setallpalette
setaspectratio
setbkcolor
setcolor
setfillpattern
setfillstyle
setgraphbufsize
setgraphmode
setlinestyle
setpalette
setrgbcolor
setrgbpalette
settextjustify
settextstyle
setusercharsize
setviewport
setvisualpage
setwritemode
textheight
textwidth
建议你买本专业的书籍学习查看。