當前位置:首頁 » 編程語言 » 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;

}