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

c语言graphics教程

发布时间: 2022-08-18 08:21:56

‘壹’ c语言中的graphics.h问题

你用的是tc吗 tc下才有这个头文件
Turbo C对于用initgraph()函数直接进行的图形初始化程序,
在编译和链接
时并没有将相应的驱动程序(*.BGI)装入到执行程序, 当程序进行到intitgraph()
语句时,
再从该函数中第三个形式参数char *path中所规定的路径中去找相应的
驱动程序。若没有驱动程序, 则在C:\TC中去找,
如C:\TC中仍没有或TC不存在,
将会出现错误:
BGI Error: Graphics
not initialized (use 'initgraph')
因此, 为了使用方便,
应该建立一个不需要驱动程序就能独立运行的可执行
图形程序,Turbo C中规定用下述步骤(这里以EGA、VGA显示器为例):

1. 在C:\TC子目录下输入命令:BGIOBJ EGAVGA

此命令将驱动程序EGAVGA.BGI转换成EGAVGA.OBJ的目标文件。
2.
在C:\TC子目录下输入命令:TLIB LIB\GRAPHICS.LIB+EGAVGA

此命令的意思是将EGAVGA.OBJ的目标模块装到GRAPHICS.LIB库文件中。
3.
在程序中initgraph()函数调用之前加上一句:

registerbgidriver(EGAVGA_driver):
该函数告诉连接程序在连接时把EGAVGA的驱动程序装入到用户的执行程序中。

经过上面处理,编译链接后的执行程序可在任何目录或其它兼容机上运行。

‘贰’ c语言编程:如何在codeblocks中配置(添加)graphics.h头文件,求具体操作步骤,希

添加不了。graphics.h是dos时代的图形技术,早就过时不用了。你如果还学这个的话,纯属浪费时间。
改学windows下的图形绘制技术吧。
如果只是为了学习的话,用dosbox dos虚拟器,或者使用vmware/virtualbox等虚拟机软件,虚拟一个dos系统,在里面用tc2.0编程。

‘叁’ C语言 GRAPHICS库

#include <iostream>
#include <cstdlib>
#include <graphics.h>
#include <conio.h>
using namespace std;
IMAGE *MG=NULL;
void draw()
{
int n,i;
initgraph(1366, 768);
setbkcolor(WHITE);
cleardevice();
IMAGE MG;
loadimage(&MG,_T( "A.JPG"));
for(i=100;i<800;i+=27)
for(n=100;n<800;n+=27)
putimage(i, n, &MG);
}
void mouse()
{
MOUSEMSG W;
IMAGE MG;
loadimage(&MG,_T( "b.JPG"));

int i=100;

while(!kbhit()){ //当敲击回车退出 这里加了个循环
W=GetMouseMsg();
if(W.uMsg==WM_LBUTTONDOWN)
{
putimage(i,i , &MG);
i+=27;
}
}
}
int main()
{
draw();
mouse();
}


我这里测试通过

‘肆’ 如何用visual c 编程c语言graphics

(1)文件->新建->项目->visual
c++->win32控制台应用程序
名称中输入项目的名称
确定->下一步->空项目->完成
(2)解决方案资源管理器

源文件
右击
添加->新建项->代码->c++文件(.cpp)
名称中输入
某某文件名.c
不要.cpp
添加
(3)项目->项目名
属性->c/c++->高级->编译为
选择
编译为c代码(/tc)
确定
其实(3)这一步也可以不用做
因为c++兼容c的
不过(3)做了
那就是使用真正的c标准进行编译了

‘伍’ C语言中关于那本书有介绍graphics.h或dos.h等的库函数使用方法。

1、立即放弃看谭浩强的书,完全是误人子弟;
2、你说的那个 graphics.h 是 TC 时代提供的在命令行下绘制图案的一个库,应该是上个世纪八九十年代的事情了吧。知识也该更新了。

图形图像库你可以去看看 MFC、GDI、GDI+、Qt 等等,很多。

‘陆’ C语言用Graphics如何画utahteapot(犹他茶壶)

用Grahpics画的,我也不知道怎么画,而且我也不知道什么是犹他茶壶。
我这里用个用利用OpenGL画的一个茶壶,不知道能不能帮助到你。
#include <gl\glut.h>
#include <math.h>
float theta = 0.0f;
GLfloat xa = 1.0f, ya = 0.5f, za = 0.0f;
GLfloat x2 = 1.0f, y2 = 0.5f, z2 = 0.0f;
bool turn1 = true;
void OnDisplay()
{
glClear(GL_COLOR_BUFFER_BIT);
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();
if (turn1)
{
gluLookAt(xa, ya, za, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0);
glColor3f(0.6, 0.2, 0.2);
}
else
{
gluLookAt(x2, y2, z2, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0);
glColor3f(0.2, 0.2, 0.6);
}
glutSolidTeapot(2.0);
glutSwapBuffers();
}
void OnReshape(int w, int h)
{
glViewport(0, 0, w, h);
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
glOrtho(-4.0, 4.0, -4.0, 4.0, -4.0, 4.0);
}
void OnIdle(void)
{
theta += 0.01;
if (theta >= 360)
theta -= 360;
xa = cos(theta);
za = sin(theta);
if (theta + 0.1> 360)
{
x2 = cos(theta + 0.1 - 360);
z2 = sin(theta + 0.1 - 360);
}
else
{
x2 = cos(theta + 0.1);
z2 = sin(theta + 0.1);
}
turn1 = !turn1;
glutPostRedisplay();
}
void Init()
{
glClearColor(0.0, 0.0, 0.0, 0.0);
glColor3f(0.2, 0.2, 0.6);
}
int main(int argc, char** argv)
{
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_DOUBLE | GLUT_RGB);
glutInitWindowPosition(140, 80);
glutInitWindowSize(800, 800);
glutCreateWindow("cube");
glutReshapeFunc(OnReshape);
glutDisplayFunc(OnDisplay);
glutIdleFunc(OnIdle);
Init();
glutMainLoop();
}

‘柒’ C语言的graphics.h在VC++下该怎么用

graphics.h是borland在 dos时代的c里添加的,
vc里头没这个 你要在c++用c语言作图,用windows.h就ok了。
你用的是windows系统,开发的图形界面当然要符合windows的一套标准

‘捌’ C语言graphics.h 画图

H是一个头文件,一般只写接口,声明的一部分; C是实现文件,写具体实施的一部分。通常具有相同名称的H和C文件,并且在C文件的#include文件为H。

‘玖’ 怎样用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语言编程画图

换账号再来回答,veket的小号。。。

.......用了ege图形库.........纯体力活.........

源代码....demo.cpp.....

/////////////////////////////////////////

// ege0.3.8

// MinGW g++3.4.2

// veket的小号

/////////////////////////////////////////

#include"graphics.h"

#include<stdio.h>

constintYLEN=50;

constintXLEN=40;

constintWIDTH=10*XLEN;

constintHEIGHT=2*YLEN;

constintXWIDTH=640;

constintYHEIGHT=480;

intmain()

{

intx1,y1,x2,y2,x,y;

charstrbuf[100];

inti;

setinitmode(0);

initgraph(XWIDTH,YHEIGHT);

setbkcolor(RGB(0xcc,0xcc,0xcc));

setfillstyle(RGB(0xff,0xff,0xff));

x2=x1=(getmaxx()-WIDTH)/2;

y1=(getmaxy()-2*HEIGHT-YLEN)/2;

y2=y1+HEIGHT+YLEN;

bar(x1,y1,x1+WIDTH,y1+2*YLEN);

setcolor(RGB(0x04,0x04,0x04));

rectangle(x1,y1,x1+WIDTH,y1+2*YLEN);

outtextxy(x1-20,y1-10,"1");

outtextxy(x1-20,y1-10+YLEN,"0");

outtextxy(x1-20,y1-10+2*YLEN,"-1");

for(x=x1,y=y1+2*YLEN+10,i=0;x<=x1+WIDTH;x+=2*XLEN,i+=2)

{

sprintf(strbuf,"%d",i);

outtextxy(x,y,strbuf);

}

for(x=x1;x<x1+(int)(3*PI*XLEN);x++)

{

y=y1+YLEN-(int)(YLEN*sin(1.0*(x-x1)/XLEN)+0.5);

putpixel(x,y,RGB(0x3e,0x3e,0xff));

}

bar(x2,y2,x2+WIDTH,y2+2*YLEN);

rectangle(x2,y2,x2+WIDTH,y2+2*YLEN);

outtextxy(x2-20,y2-10,"1");

outtextxy(x2-20,y2-10+YLEN,"0.5");

outtextxy(x2-20,y2-10+2*YLEN,"0");

for(x=x2,y=y2+2*YLEN+10,i=0;x<=x1+WIDTH;x+=2*XLEN,i+=2)

{

sprintf(strbuf,"%d",i);

outtextxy(x,y,strbuf);

}

for(x=x2;x<x2+(int)(PI*XLEN);x++)

{

y=y2+2*YLEN-(int)(2*YLEN*sin(1.0*(x-x1)/XLEN)+0.5);

putpixel(x,y,RGB(0x3e,0x3e,0xff));

}

for(x=x2+(int)(2*PI*XLEN);x<x2+(int)(3*PI*XLEN);x++)

{

y=y2+2*YLEN-(int)(2*YLEN*sin(1.0*(x-x1)/XLEN)+0.5);

putpixel(x,y,RGB(0x3e,0x3e,0xff));

}

getch();

closegraph();

return0;

}