第13章 圖形處理_第1頁
第13章 圖形處理_第2頁
第13章 圖形處理_第3頁
第13章 圖形處理_第4頁
第13章 圖形處理_第5頁
已閱讀5頁,還剩12頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

第13章圖形處理*13.1基本概念13.2圖形函數(shù)13.3應用舉例13.1基本概念坐標系

笛卡兒坐標系笛卡兒坐標系采用兩個軸線將平面分為四個象限,水平的是x軸,垂直的是y軸,x軸與y軸的交點是中心位置,用(0,0)表示,稱為坐標原點,如下圖所示:首頁上一頁屏幕坐標系屏幕坐標系采用的是笛卡兒坐標系的一個象限:定義屏幕的左上角為坐標原點,x軸向右延伸,y軸向下延伸,其中x、y都是大于等于0的整數(shù)值。如下圖所示:

將笛卡兒坐標系轉換為屏幕坐標系:設圖形上一點的笛卡兒坐標為(X,Y),那么它對應的屏幕坐標為:

(X+屏幕寬度的一半,屏幕高度的一半-Y)上一頁圖形窗口與相對坐標在絕對坐標空間上可以開辟若干個圖形窗口,在窗口內部又有其坐標系統(tǒng),稱為相對坐標,在窗口內繪圖可以用相對坐標來表示位置。如下圖所示:上一頁

圖形模式

顯示器的工作方式文本方式:VRAM中存放的是要顯示的字符的ASCII碼,然后以此ASCII碼為地址去取存放在字符發(fā)生器中的字模,變成視頻信號輸出到屏幕。圖形方式:要顯示的圖形直接存放在VRAM中,VRAM中的數(shù)據(jù)就表示在屏幕上某行某列的象素及顏色。要在屏幕上顯示圖形,必須在圖形模式下進行。象素象素是組成圖形的基本單位。對于計算機屏幕上顯示的圖形的每一點:位置是用最接近它真實位置的象素來描述的,顏色是用最接近其真實色彩的顏色表示的,計算機中表示的是現(xiàn)實世界的類似圖象。象素的大小,象素能表示多少種顏色,組成屏幕的象素的多少,可以通過設置不同的顯示模式來設定。上一頁13.2圖形函數(shù)

TurboC中屬于圖形處理的庫函數(shù)約有上百個;而且計算機圖形學是一門技術復雜、內容豐富的學科。本章只介紹TurboC中最基本最常用的圖形函數(shù)和基本的繪圖方法。利用C語言進行圖形設計主要通過調用圖形庫函數(shù)來實現(xiàn)的。

TurboC中,圖形函數(shù)的函數(shù)庫是GRAPHICS.LIB,該函數(shù)庫的函數(shù)原型在頭文件GRAPHICS.H中列出。若程序中用到圖形函數(shù),必須在程序前面加上預處理語句:

#include<graphics.h>

或#include”graphics.h”首頁上一頁圖形系統(tǒng)控制函數(shù)圖形系統(tǒng)初始化函數(shù)

voidfarinitgraph(intfar*driver,intfar*mode,charfarpath);

函數(shù)功能:裝入圖形驅動程序,初始化圖形系統(tǒng)。圖形系統(tǒng)檢測函數(shù)

voidfardetectgraph(intfar*graphdriver,intfar*graphmode);

函數(shù)功能:檢測圖形適配器的類型。退出圖形系統(tǒng)函數(shù)

voidfarclosegraph(void);

函數(shù)功能:使顯示器工作方式從圖形方式轉換到文本方式。上一頁畫圖和填充函數(shù)畫點函數(shù)

voidfarputpixel(intx,inty,intcolor);

函數(shù)功能:在指定位置(x,y)畫一個顏色為color的點。位置函數(shù)移動畫筆到指定位置函數(shù)

voidfarmoveto(intx,inty);

函數(shù)功能:移動畫筆到指定位置(x,y)。獲取當前位置函數(shù)

intfargetx(void);intfargety(void);

函數(shù)功能:以上兩個函數(shù)用來獲取當前畫筆的位置:前者返回橫坐標,后者返回縱坐標。獲取當前模式下最大坐標函數(shù)

intfargetmaxx(void);intfargetmaxy(void);

函數(shù)功能:獲取屏幕的最大坐標:前者返回橫坐標,后者返回縱坐標。上一頁畫線函數(shù)指定兩點間畫線的函數(shù)

voidfarline(intx1,inty1,intx2,inty2);

函數(shù)功能:用當前畫筆顏色從點(x1,y1)到點(x2,y2)畫一條直線。從當前位置到指定位置畫線的函數(shù)

voidfarlineto(intx,inty);

函數(shù)功能:用當前畫筆顏色從當前畫筆位置到點(x,y)畫一條直線。從當前位置到某一相對位置畫線的函數(shù)

voidfarlinerel(intdx,intdy);

函數(shù)功能:用當前畫筆顏色從當前位置到與畫筆相對增量為dx,dy的位置畫一條直線。上一頁

畫矩形函數(shù)畫矩形框函數(shù)

voidfarrectangle(intx1,inty1,intx2,inty2);

函數(shù)功能:用當前畫筆顏色以(x1,y1)為左上角,(x2,y2)為右下角畫一矩形框。畫實心矩形函數(shù)

voidfarbar(intx1,inty1,intx2,inty2);

函數(shù)功能:用事先確定的顏色和填充模式,以(x1,y1)為左上角,以(x2,y2)為右下角畫一實心矩形。上一頁

畫圓函數(shù)畫圓函數(shù)

voidfarcircle(intx,inty,intrdius);

函數(shù)功能:以(x,y)為圓心,rdius為半徑用當前畫筆顏色畫一個圓。畫橢圓函數(shù)

voidfarellipse(intx,inty,intstangle,intendangel,

intxradius,intyradius);

函數(shù)功能:以(x,y)為圓心,以xradius和yradius為x、y軸半徑,從stangle開始到endangle結束,以當前畫筆顏色畫一橢圓弧。畫弧函數(shù)

voidfararc(intx,inty,intstangle,intendangle,intradius);

函數(shù)功能:以(x,y)為圓心,radius為半徑,從stangle開始到

endangle結束,以畫筆顏色畫一圓弧。上一頁填充模式和顏色函數(shù)

voidfarsetfillstyle(intpattern,intcolor);

函數(shù)功能:用color顏色和pattern模式對圖形進行填充;其中

color是在當前圖形模式下有效的顏色值。獲取填充模式和顏色函數(shù)

voidfarfillsettings(structfillsettingstypefar*fillinfo)

函數(shù)功能:得到當前的填充模式和顏色存放在fillinfo所指示變量中。上一頁顏色控制函數(shù)

設置前景顏色函數(shù)

voidfarsetcolor(intcolor);

函數(shù)功能:設置當前畫筆顏色為color所代表的顏色。設置背景顏色函數(shù)

voidfarsetbkcolor(intcolor);

函數(shù)功能:設置背景顏色為color顏色。表13.4為背景色與對應當顏色名。獲取前景顏色函數(shù)

intfargetcolor(void);

函數(shù)功能:返回當前畫筆的顏色。獲取指定位置顏色

intfargetpixel(intx,inty)

函數(shù)功能:返回指定位置點(x,y)的顏色。上一頁屏幕和視口管理函數(shù)

清屏函數(shù)

voidfarclearevice(void);

函數(shù)功能:清除屏幕,并將當前畫筆位置重新設置為(0,0)。

設置當前圖形窗口函數(shù)

voidfarsetviewport(intx1,inty2,intx2,inty2,intclip);

函數(shù)功能:開辟一個新的圖形窗口,窗口的左上角是(x1,y1),右下角是(x2,y2)。Clip的值為非0時,超出窗口的部分被自動切除,clip的值為0時,不剪切。

清除當前圖形窗口函數(shù)

voidfarclearviewport(void);

函數(shù)功能:清圖形窗口,并將當前畫筆重新設置為(0,0)。上一頁圖形方式下的文本輸出函數(shù)

當前位置文本輸出函數(shù)

voidfarouttext(charfar*textstring);

函數(shù)功能:在當前位置輸出textstring所指向的字符串。

在指定位置輸出文本函數(shù)

voidfarouttextey(intx,inty,charfar*textstring);

函數(shù)功能:在指定位置(x,y)輸出textstring所指向的字符串。

定義文本字型函數(shù)

voidfarsettextstyle(intfont,intdirection,intcharsize);

函數(shù)功能:設置當前文本的字體、顯示方向和字符的大小。

上一頁圖形存取函數(shù)將圖象存到內存區(qū)函數(shù)

voidfargetmage(intx1,inty1,intx2,inty2,voidfar*bitmap);

函數(shù)功能:將屏幕上左上角為(x1,y1),右下角為(x2,y2)的矩形區(qū)內圖象保存到bitmap所指向的內存區(qū)。將內存圖象顯示到屏幕函數(shù)

voidfarputimage(intx1,inty1,voidfar*bitmap,intop);

函數(shù)功能:將bitmap指向的內存區(qū)中的圖象與屏幕上左上角為(x1,y1)的矩形區(qū)內圖象進行op操作后顯示到屏幕上。

錯誤處理取錯誤號函數(shù)

voi

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論