『壹』 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;
}