‘壹’ 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;
}