車輛物流系統(tǒng)需求分析報告_第1頁
車輛物流系統(tǒng)需求分析報告_第2頁
車輛物流系統(tǒng)需求分析報告_第3頁
車輛物流系統(tǒng)需求分析報告_第4頁
車輛物流系統(tǒng)需求分析報告_第5頁
已閱讀5頁,還剩35頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、文檔名稱:需求規(guī)格說明書項目名稱:車輛物流管理系統(tǒng)1.引言 1.1 編寫目的 在完成了針對物流管理系統(tǒng)需求文檔的分析討論,同時又了解了其他同類軟件的相關(guān)情況,我們項目小組在進(jìn)行了全面深入地探討和分析的基礎(chǔ)上,提出了這份軟件需求規(guī)格說明書。 此需求規(guī)格說明書對物流管理系統(tǒng)軟件做了全面細(xì)致的用戶需求分析,明確所要開發(fā)的軟件應(yīng)具有的功能、性能與界面,使系統(tǒng)分析人員及軟件開發(fā)人員能清楚地了解用戶的需求,并在此基礎(chǔ)上進(jìn)一步提出概要設(shè)計說明書和完成后續(xù)設(shè)計與開發(fā)工作。 1.2 項目背景 所謂物流系統(tǒng)是指在一定的時間和空間里,由所需輸送的物料和包括有關(guān)設(shè)備、輸送工具、人員等若體。根據(jù)客戶的需求干相互制約的動

2、態(tài)要素構(gòu)成的具有特定功能的有機整文檔 項目小組已完成了全面的市場調(diào)查和分析,并在此基礎(chǔ)上著手開發(fā)物流管理系統(tǒng)軟件。2.任務(wù)概述 2.1 目標(biāo) 物流管理系統(tǒng)軟件旨在為物流公司借助先進(jìn)的計算機科學(xué)實現(xiàn)自動化的辦公管理,更有效,更節(jié)約的利用現(xiàn)有資源,同時根據(jù)客戶的具體需求為客戶提供一些更為方便實用的功能,此系統(tǒng)滿足需求文檔中的電腦配置要求。2.2我們實現(xiàn)的功能有如下十個模塊:車輛管理、駕駛員管理、運力查詢、承運任務(wù)管理、運輸成本核算、用戶管理、系統(tǒng)管理、車輛調(diào)度、客戶管理、財務(wù)管理。根據(jù)我們的分析我們把此系統(tǒng)分為五種權(quán)限,包括財務(wù)人員權(quán)限,運輸人員權(quán)限,調(diào)度人員權(quán)限,承運業(yè)務(wù)員權(quán)限,管理員權(quán)限。大模

3、塊下具體實現(xiàn)了一些功能,見下文。3.功能模塊圖4. 數(shù)據(jù)庫描述 本軟件采用SQL server2005數(shù)據(jù)庫。3.1 數(shù)據(jù)流圖 物流管理系統(tǒng)軟件的數(shù)據(jù)流圖是比較清晰的,對各功能模塊來說都比較有規(guī)律。系統(tǒng)流程圖2.車輛管理流程圖3.承運歷史查詢流程圖4.車輛調(diào)度流程圖5.承運任務(wù)管理管理6.車隊運輸成本核算7.車隊運輸成本核算8.用戶管理9系統(tǒng)管理10.駕駛員管理11.客戶管理12.運力查詢13.財務(wù)管理3.2查詢功能 a. 姓名查詢; b. 按照日期查詢c. 車隊對應(yīng)車輛查詢 3.3 修改功能 修改車隊信息,車輛信息,駕駛員信息,承運單信息,用戶信息,客戶信息等; 3.4.增加功能 增加一個新

4、的記錄; 3.5. 刪除功能 刪除一個記錄,有確認(rèn)信息提示; 3.6. 打印功能 打印到Excel表格中; 5. 性能需求 4.1 數(shù)據(jù)精確度 體現(xiàn)在查詢上,能查找出特定的必要的信息。 4.2 并發(fā)性能需求當(dāng)兩用戶對同一頁面進(jìn)行更新操作時,先更新的用戶能夠成功,后更新的提示數(shù)據(jù)已改變,要刷新數(shù)據(jù)。6.項目的創(chuàng)新點本系統(tǒng)適用于各種物流公司,獨特的查詢修改功能方便經(jīng)營者統(tǒng)籌管理,強大的查詢系統(tǒng)從各個角度提供了全方位的查詢,有效地提高經(jīng)營管理效率。系統(tǒng)包括了物流公司所有常用的功能,可以幫助您加強管理和服務(wù),提升企業(yè)形象,降低成本,增加收入,創(chuàng)造利潤和提高市場競爭力,而價格是如此優(yōu)惠,我們的宗旨是讓大

5、多數(shù)物流公司花最少的錢用上最好的產(chǎn)品。本物流管理軟件主要有以下的功能:1、數(shù)據(jù)集中控制,更易部署和管理。2. 功能強大的查詢體系。3. 減少了不必要的管理環(huán)節(jié),有效提高了工作效率,節(jié)約了資源。7. 操作大概流程作業(yè)流程控制首先是管理權(quán)限最大的運輸管理員以他的用戶名登陸進(jìn)入系統(tǒng)(默認(rèn)用戶名:1; 密碼:1)此用戶可以進(jìn)行以下的初始設(shè)置,包括更改密碼,設(shè)置貴公司的基本信息情況,系統(tǒng)設(shè)置貴公司的油價等基本成本信息。 2. 通過運輸行業(yè)的承運單、車輛調(diào)度為實際依據(jù),對整個運輸業(yè)務(wù)流程進(jìn)行控制管理,并能對作業(yè)流程當(dāng)中需要的數(shù)據(jù)進(jìn)行統(tǒng)計、計算,查詢,修改等。功能簡介:1. 車輛管理功能介紹:對車隊和車輛信

6、息進(jìn)行管理。上方是通過輸入查詢條件,點擊查詢,在下方顯示的是根據(jù)條件查詢出來的結(jié)果。還可以對數(shù)據(jù)進(jìn)行刪除,對車輛車隊的添加,導(dǎo)出Excel。操作步驟:1).點擊車隊或車輛信息維護(hù)進(jìn)入界面。進(jìn)入后頁面初始顯示所有數(shù)據(jù)。同樣表頭沒有內(nèi)容,點擊查詢,也將所有內(nèi)容顯示出來。2)如果數(shù)據(jù)較多,下方有分頁功能的控件。可以選擇下一頁進(jìn)行查看,可以選擇每頁顯示數(shù)據(jù)的行數(shù)。3).查詢功能使用:在查詢條件里輸入您想要查的相應(yīng)條件可以單個查詢,可以結(jié)合查詢。查詢后在下方顯示相應(yīng)的數(shù)據(jù)。4).刪除:刪除功能是對數(shù)據(jù)進(jìn)行刪除。5).導(dǎo)出到Excel中,將在GridVew中顯示的數(shù)據(jù)導(dǎo)出至Excel中,文件將保存在一個特

7、定的文件夾中。6).新增:當(dāng)貴公司購入新的車輛或添加一個車隊,可以添加車輛信息或車隊信息,對車輛或車輛進(jìn)行管理。7).點擊取消,界面將返回。8).添加和修改進(jìn)入的是同一頁面。點擊新增進(jìn)入添加,點擊后面的詳細(xì)進(jìn)入修改界面。2.駕駛員管理1).點擊駕駛員管理進(jìn)入界面。進(jìn)入后頁面初始顯示所有數(shù)據(jù)。同樣表頭沒有內(nèi)容,點擊查詢,也將所有內(nèi)容顯示出來。2)如果數(shù)據(jù)較多,下方有分頁功能的控件??梢赃x擇下一頁進(jìn)行查看,可以選擇每頁顯示數(shù)據(jù)的行數(shù)。3).查詢功能使用:在查詢條件里輸入您想要查的相應(yīng)條件,可以單個查詢,可以結(jié)合查詢。查詢后在下方顯示相應(yīng)的。 4).刪除:刪除功能是對數(shù)據(jù)進(jìn)行刪除。5).導(dǎo)出到Exc

8、el中,將在GridVew中顯示的數(shù)據(jù)導(dǎo)出至Excel中,文件將保存在一個特定的文件夾中。7).新增:當(dāng)貴公司聘用一個駕駛員,可以添加駕駛員信息,對駕駛員信息進(jìn)行管理。8).點擊取消,界面將返回。9).添加和修改進(jìn)入的是同一頁面。點擊新增進(jìn)入添加,點擊后面的詳細(xì)進(jìn)入修改界面。3.運力查詢1.運力綜合承運車隊查詢功能介紹:主要是對運力進(jìn)行查詢,上方是通過輸入查詢條件,點擊查詢,在下方顯示根據(jù)條件查詢出來的結(jié)果。1).點擊運力綜合承運車隊查詢,進(jìn)入界面。進(jìn)入頁面后初始顯示所有數(shù)據(jù)。同樣表頭沒有內(nèi)容,點擊查詢,也將相應(yīng)的內(nèi)容顯示出來。2)如果數(shù)據(jù)較多,下方有分頁功能的控件??梢赃x擇下一頁進(jìn)行查看,可

9、以選擇每頁顯示數(shù)據(jù)的行數(shù)。3).查詢功能使用:在查詢條件里選擇您想要查的相應(yīng)條件,可以單個查詢,可以結(jié)合查詢。查詢后在下方顯示相應(yīng)的。4). 導(dǎo)出Excel,將在GridVew中顯示的數(shù)據(jù)導(dǎo)出至Excel中。2. 承運運力綜合承運車輛查詢功能介紹:對車輛承運的綜合查詢。上方是通過輸入查詢條件,點擊查詢,在下方顯示根據(jù)條件查詢出來的結(jié)果,導(dǎo)出Excel中。1). 點擊運力綜合承運車輛查詢進(jìn)入界面。進(jìn)入頁面后初始顯示所有數(shù)據(jù)。同樣表頭沒有內(nèi)容,點擊查詢,也將能所有內(nèi)容顯示出來。2)如果數(shù)據(jù)較多,下方有分頁功能的控件??梢赃x擇下一頁進(jìn)行查看,可以選擇每頁顯示數(shù)據(jù)的行數(shù)。3).查詢功能使用:在查詢條件

10、里選擇您想要查的相應(yīng)條件,可以單個查詢,可以結(jié)合查詢。查詢后在下方顯示相應(yīng)的。4). 導(dǎo)出Excel,將在GridVew中顯示的數(shù)據(jù)導(dǎo)出至Excel中。3. 歷史承運任務(wù)查詢功能介紹:對承運任務(wù)的歷史查詢。上方是通過選擇日期和車隊的查詢條件,點擊查詢,在下方顯示根據(jù)條件查詢出來的結(jié)果,可以導(dǎo)出到Excel中。1). 點擊承運任務(wù)的歷史查詢進(jìn)入界面。進(jìn)入頁面后初始顯示所有數(shù)據(jù)。同樣表頭沒有內(nèi)容,點擊查詢,也將能所有內(nèi)容顯示出來。2)如果數(shù)據(jù)較多,下方有分頁功能的控件。可以選擇下一頁進(jìn)行查看,可以選擇每頁顯示數(shù)據(jù)的行數(shù)。3).查詢功能使用:在查詢條件里選擇您想要查的相應(yīng)條件,可以單個查詢,可以結(jié)合

11、查詢。查詢后在下方顯示相應(yīng)的。4). 導(dǎo)出Excel,可以將在GridVew中顯示的數(shù)據(jù)導(dǎo)出至Excel中。4.車輛歷史承運信息查詢功能介紹:對車輛歷史承運信息查詢。上方是通過選擇日期和車隊下相應(yīng)的車輛的查詢條件,點擊查詢,在下方顯示根據(jù)條件查詢出來的結(jié)果,可以導(dǎo)出到Excel中。1). 點擊車輛歷史承運信息查詢進(jìn)入界面。進(jìn)入頁面后初始顯示所有數(shù)據(jù)。同樣表頭沒有內(nèi)容,點擊查詢,也將能所有內(nèi)容顯示出來。2)如果數(shù)據(jù)較多,下方有分頁功能的控件。可以選擇下一頁進(jìn)行查看,可以選擇每頁顯示數(shù)據(jù)的行數(shù)。3).查詢功能使用:在查詢條件里選擇您想要查的相應(yīng)條件,可以單個查詢,可以結(jié)合查詢。查詢后在下方顯示相應(yīng)

12、的。4). 導(dǎo)出Excel,可以將在GridVew中顯示的數(shù)據(jù)導(dǎo)出至Excel中。5. 車輛歷史承運詳細(xì)信息查詢功能介紹:對車輛歷史承運詳細(xì)信息查詢。上方是通過選擇日期和車隊下相應(yīng)的車輛的查詢條件,點擊查詢,在下方顯示根據(jù)條件查詢出來的結(jié)果,可以導(dǎo)出到Excel中。1). 點擊車輛歷史承運詳細(xì)信息查詢進(jìn)入界面。進(jìn)入頁面后初始顯示所有數(shù)據(jù)。同樣表頭沒有內(nèi)容,點擊查詢,也將能所有內(nèi)容顯示出來。2)如果數(shù)據(jù)較多,下方有分頁功能的控件??梢赃x擇下一頁進(jìn)行查看,可以選擇每頁顯示數(shù)據(jù)的行數(shù)。3).查詢功能使用:在查詢條件里選擇您想要查的相應(yīng)條件,可以單個查詢,可以結(jié)合查詢。查詢后在下方顯示相應(yīng)的數(shù)據(jù)。4)

13、. 導(dǎo)出Excel,可以將在GridVew中顯示的數(shù)據(jù)導(dǎo)出至Excel中。4.承運任務(wù)管理1.承運單開出功能介紹:對承運單進(jìn)行開出,修改管理。上方是通過輸入查詢條件,點擊查詢,在下方顯示根據(jù)條件查詢出來的結(jié)果。操作步驟:1).點擊承運單開出進(jìn)入界面。進(jìn)入后頁面初始顯示所有數(shù)據(jù)。同樣表頭沒有內(nèi)容,點擊查詢,也將所有內(nèi)容顯示出來。2)如果數(shù)據(jù)較多,下方有分頁功能的控件。可以選擇下一頁進(jìn)行查看,可以選擇每頁顯示數(shù)據(jù)的行數(shù)。3).查詢功能使用:在查詢條件里輸入您想要查的相應(yīng)條件,可以單個查詢,可以結(jié)合查詢。查詢后在下方顯示相應(yīng)的數(shù)據(jù)。4).點擊承運單號可以進(jìn)入其對應(yīng)的詳細(xì)承運信息,可以修改承運詳細(xì)信息

14、和新增承運詳細(xì)信息,和刪除承運詳細(xì)信息,在進(jìn)行這一列的詳細(xì)承運信息的操作時候,對應(yīng)的承運主單信息也會發(fā)生相應(yīng)的改變,點擊取消或返回,界面將返回。2.承運單接收功能介紹:對承運單進(jìn)行接收。上方是通過選擇相應(yīng)想要的條件,點擊接收,則可以正常對承運單進(jìn)行接收。操作步驟:1).點擊承運單接收進(jìn)入界面。進(jìn)入后頁面初始顯示所有數(shù)據(jù)。2)如果數(shù)據(jù)較多,下方有分頁功能的控件??梢赃x擇下一頁進(jìn)行查看,可以選擇每頁顯示數(shù)據(jù)的行數(shù)。5.運輸成本核算1.車隊運輸成本錄入功能介紹:對車隊運輸成本錄入。操作步驟:1).點擊車隊運輸成本錄入進(jìn)入界面。進(jìn)入后頁面后可以錄入車隊運輸成本。2.車隊運輸成本核算功能介紹:對車隊運輸

15、成本進(jìn)行核算。操作步驟:1).點擊車隊運輸成本核算進(jìn)入界面。進(jìn)入后頁面后可以核算車隊運輸成本。6.用戶管理1用戶管理功能介紹:對用戶進(jìn)行管理。上方是通過輸入查詢條件,點擊查詢,在下方顯示根據(jù)條件查詢出來的結(jié)果。操作步驟:1).點擊用戶管理進(jìn)入界面。進(jìn)入頁面后初始顯示所有數(shù)據(jù)。同樣表頭沒有內(nèi)容,點擊查詢,也將所有內(nèi)容顯示出來。2)如果數(shù)據(jù)較多,下方有分頁功能的控件??梢赃x擇下一頁進(jìn)行查看,可以選擇每頁顯示數(shù)據(jù)的行數(shù)。3).查詢功能使用:在查詢條件里輸入您想要查的相應(yīng)條件,可以單個查詢,可以結(jié)合查詢。查詢后在下方顯示相應(yīng)的數(shù)據(jù)。4)點擊新增進(jìn)行添加,點擊后面的詳細(xì)進(jìn)行修改。權(quán)限設(shè)置可以根據(jù)你的要求

16、進(jìn)行相關(guān)權(quán)限的設(shè)置,修改刪除等操作。2.權(quán)限設(shè)置功能介紹:對權(quán)限設(shè)置進(jìn)行管理。上方是通過輸入查詢條件,點擊查詢,在下方顯示根據(jù)條件查詢出來的結(jié)果。操作步驟:1).點擊權(quán)限設(shè)置進(jìn)入界面。進(jìn)入頁面后初始顯示所有數(shù)據(jù)。同樣表頭沒有內(nèi)容,點擊查詢,也將所有內(nèi)容顯示出來。2)如果數(shù)據(jù)較多,下方有分頁功能的控件??梢赃x擇下一頁進(jìn)行查看,可以選擇每頁顯示數(shù)據(jù)的行數(shù)。3).查詢功能使用:在查詢條件里選擇您想要條件,在下一個文本框里輸入相應(yīng)的內(nèi)容,進(jìn)行查詢。可以查詢出您想要的數(shù)據(jù)。4)點擊新增進(jìn)行添加,點擊后面的詳細(xì)可以進(jìn)行修改等的操作。5)可以進(jìn)行刪除。7.系統(tǒng)管理1基本信息設(shè)置功能介紹:對貴公司基本信息進(jìn)行

17、設(shè)置。操作步驟:對貴公司基本信息進(jìn)行設(shè)置。2.系統(tǒng)代碼類型管理功能介紹: 對系統(tǒng)代碼類型進(jìn)行管理。操作步驟:點擊系統(tǒng)代碼類型管理后進(jìn)入頁面,點擊系統(tǒng)代碼類型后可以進(jìn)入相應(yīng)的詳細(xì)系統(tǒng)代碼頁面。也可以進(jìn)行刪除等操作。3.線路維護(hù)功能介紹: 對線路進(jìn)行維護(hù)。操作步驟:點擊線路維護(hù)后進(jìn)入頁面,點擊詳細(xì)進(jìn)行修改,點擊新增進(jìn)入添加。也可以進(jìn)行刪除等操作。4.數(shù)據(jù)備份功能介紹: 對數(shù)據(jù)庫進(jìn)行備份。操作步驟: 進(jìn)入頁面后填入名稱和位置后就可以對數(shù)據(jù)庫進(jìn)行備份了。5.數(shù)據(jù)還原功能介紹: 對數(shù)據(jù)庫進(jìn)行還原。操作步驟:進(jìn)入頁面后,選擇下位置就可以進(jìn)行數(shù)據(jù)還原了。 8.車輛調(diào)度1.車輛運輸管理功能介紹:對車輛調(diào)度進(jìn)行

18、安排管理。上方是通過輸入查詢條件,點擊查詢,在下方顯示根據(jù)條件查詢出來的結(jié)果。操作步驟:1). 點擊車輛運輸管理進(jìn)入界面。進(jìn)入后頁面初始顯示所有數(shù)據(jù)。同樣表頭沒有內(nèi)容,點擊查詢,也將能所有內(nèi)容顯示出來。2)如果數(shù)據(jù)較多,下方有分頁功能的控件??梢赃x擇下一頁進(jìn)行查看,可以選擇每頁顯示數(shù)據(jù)的行數(shù)。3).查詢功能使用:在查詢條件里輸入您想要查的相應(yīng)條件,可以單個查詢,可以結(jié)合查詢。2.承運單對承運單進(jìn)行的一系列的維護(hù)。9.客戶管理功能介紹:主要是對客戶進(jìn)行管理,上方是通過輸入查詢條件,點擊查詢,在下方顯示根據(jù)條件查詢出來的結(jié)果。操作步驟:1).點擊客戶管理進(jìn)入界面。進(jìn)入后頁面初始顯示所有數(shù)據(jù)。同樣表

19、頭沒有內(nèi)容,點擊查詢,也將所有內(nèi)容顯示出來。2)如果數(shù)據(jù)較多,下方有分頁功能的控件??梢赃x擇下一頁進(jìn)行查看,可以選擇每頁顯示數(shù)據(jù)的行數(shù)。3).查詢功能使用:在查詢條件里輸入您想要查的相應(yīng)條件,可以單個查詢,可以結(jié)合查詢。查詢后在下方顯示相應(yīng)的數(shù)據(jù)。4).點擊新增進(jìn)行添加,點擊后面的詳細(xì)進(jìn)行修改。6).刪除:刪除功能是對數(shù)據(jù)進(jìn)行刪除。10.財務(wù)管理功能介紹:對公司營業(yè)報表進(jìn)行查詢。上方是通過輸入查詢條件,點擊查詢,可以單一查詢,也可以多條件進(jìn)行查詢。則在下方顯示根據(jù)條件查詢出來的結(jié)果。附錄資料:不需要的可以自行刪除 C語言曲線函數(shù)像素函數(shù)putpixel() 畫像素點函數(shù) getpixel()返

20、回像素色函數(shù) 直線和線型函數(shù)line() 畫線函數(shù) lineto() 畫線函數(shù) linerel() 相對畫線函數(shù) setlinestyle() 設(shè)置線型函數(shù) getlinesettings() 獲取線型設(shè)置函數(shù) setwritemode() 設(shè)置畫線模式函數(shù) 多邊形函數(shù)HYPERLINK /view/553113.htmrectangle() 畫矩形函數(shù) bar() 畫條函數(shù) bar3d() 畫條塊函數(shù) drawpoly() 畫多邊形函數(shù) 圓、弧和曲線函數(shù)getaspectratio()獲取縱橫比函數(shù) circle()畫圓函數(shù) arc() 畫圓弧函數(shù) ellipse()畫HYPERLINK /

21、view/36981.htm橢圓弧函數(shù) fillellipse() 畫橢圓區(qū)函數(shù) pieslice() 畫扇區(qū)函數(shù) sector() 畫橢圓扇區(qū)函數(shù) getarccoords()獲取圓弧坐標(biāo)函數(shù) 填充函數(shù)setfillstyle() 設(shè)置填充圖樣和顏色函數(shù) setfillpattern() 設(shè)置用戶圖樣函數(shù) floodfill() 填充閉域函數(shù) fillpoly() 填充多邊形函數(shù) getfillsettings() 獲取填充設(shè)置函數(shù) getfillpattern() 獲取用戶圖樣設(shè)置函數(shù) 圖像函數(shù)imagesize() 圖像存儲大小函數(shù) getimage() 保存圖像函數(shù) putimage(

22、) 輸出圖像函數(shù) 圖形和圖像函數(shù)對許多圖形HYPERLINK /view/330120.htm應(yīng)用程序,直線和HYPERLINK /view/400.htm曲線是非常有用的。但對有些圖形只能靠操作單個像素才能畫出。當(dāng)然如果沒有畫像素的功能,就無法操作直線和曲線的函數(shù)。而且通過大規(guī)模使用像素功能,整個圖形就可以保存、寫、擦除和與屏幕上的原有圖形進(jìn)行疊加。 (一) 像素函數(shù)putpixel() 畫像素點函數(shù)功能: 函數(shù)putpixel() 在圖形模式下屏幕上畫一個像素點。 用法: 函數(shù)調(diào)用方式為void putpixel(int x,int y,int color); 說明: 參數(shù)x,y為像素點的

23、坐標(biāo),color是該像素點的顏色,它可以是顏色符號名,也可以是整型色彩值。 此函數(shù)相應(yīng)的HYPERLINK /view/668911.htm頭文件是graphics.h 返回值: 無 例: 在屏幕上(6,8)處畫一個紅色像素點: putpixel(6,8,RED); getpixel()返回像素色函數(shù)功能: 函數(shù)getpixel()返回像素點顏色值。 用法: 該函數(shù)調(diào)用方式為int getpixel(int x,int y); 說明: 參數(shù)x,y為像素點坐標(biāo)。 函數(shù)的返回值可以不反映實際彩色值,這取決于HYPERLINK /view/1120949.htm調(diào)色板的設(shè)置情況(參見setpalet

24、te()函數(shù))。 這個函數(shù)相應(yīng)的頭文件為graphics.h 返回值: 返回一個像素點色彩值。 例: 把屏幕上(8,6)點的像素顏色值賦給變量color。 color=getpixel(8,6); (二) 直線和線型函數(shù)有三個畫直線的函數(shù),即line(),lineto(),linerel()。這些直線使用整型坐標(biāo),并相對于當(dāng)前圖形視口,但不一定受視口限制,如果視口裁剪標(biāo)志clip為真,那么直線將受到視口邊緣截斷;如果clip為假,即使終點坐標(biāo)或新的當(dāng)前位置在圖形視口或屏幕極限之外,直線截斷到屏幕極限。 有兩種線寬及幾種線型可供選擇,也可以自己定義線圖樣。下面分別介紹直線和線型函數(shù)。 line(

25、) 畫線函數(shù)功能: 函數(shù)line()使用當(dāng)前繪圖色、線型及線寬,在給定的兩點間畫一直線。 用法: 該函數(shù)調(diào)用方式為void line(int startx,int starty,int endx,int endy); 說明: 參數(shù)startx,starty為起點坐標(biāo),endx,endy為終點坐標(biāo),函數(shù)調(diào)用前后,圖形狀態(tài)下屏幕光標(biāo)(一般不可見)當(dāng)前位置不改變。 此函數(shù)相應(yīng)的頭文件為graphics.h 返回值: 無 例: 見函數(shù)60.linerel()中的實例。 lineto() 畫線函數(shù)功能: 函數(shù)lineto()使用當(dāng)前繪圖色、線型及線寬,從當(dāng)前位置畫一直線到指定位置。 用法: 此函數(shù)調(diào)用方

26、式為void lineto(int x,int y); 說明: 參數(shù)x,y為指定點的坐標(biāo),函數(shù)調(diào)用后,當(dāng)前位置改變到指定點(x,y)。 該函數(shù)對應(yīng)的頭文件為graphics.h 返回值: 無 例: 見函數(shù)60.linerel()中的實例。 linerel() 相對畫線函數(shù)功能: 函數(shù)linerel() 使用當(dāng)前繪圖色、線型及線寬,從當(dāng)前位置開始,按指定的水平和垂直偏移距離畫一直線。 用法: 這個函數(shù)調(diào)用方式為void linerel(int dx,int dy); 說明: 參數(shù)dx,dy分別是水平偏移距離和垂直偏移距離。 函數(shù)調(diào)用后,當(dāng)前位置變?yōu)樵黾悠凭嚯x后的位置,例如,原來的位置是(8,6

27、),調(diào)用函數(shù)linerel(10,18)后,當(dāng)前位置為(18,24)。 返回值:無 例: 下面的程序為畫線函數(shù)調(diào)用實例: #i nclude void main() int driver,mode; driver=DETECT; mode=0; initgraph(&driver,&mode,); setcolor(15); line(66,66,88,88); lineto(100,100); linerel(36,64); getch(); restorecrtmode(); setlinestyle() 設(shè)置線型函數(shù)功能: setlinestyle() 為畫線函數(shù)設(shè)置當(dāng)前線型,包括線型、

28、線圖樣和線寬。 用法: setlinestyle() 函數(shù)調(diào)用方式為void setlinestyle(int stly,unsigned pattern,int wigth); 說明: 參數(shù)style為線型取值,也可以用相應(yīng)名稱表示,如表1-10中所示。 參數(shù)pattern用于自定義線圖樣,它是16位(bit)字,只有當(dāng)style=USERBIT_LINE(值為1)時,pattern的值才有意義,使用用戶自定義線圖樣,與圖樣中“1”位對應(yīng)的像素顯示,因此,pattern=0 xFFFF,則畫實線;pattern=0 x9999,則畫每隔兩個像素交替顯示的虛線,如果要畫長虛線,那么patter

29、n的值可為0 xFF00和0 xF00F,當(dāng)style不為USERBIT_LINE值時,雖然pattern的值不起作用,但扔須為它提供一個值,一般取為0。 參數(shù)wigth用來設(shè)定線寬,其取值見表1-11,表中給出了兩個值,即1和3,實際上,線寬取值為2也是可以接受的。 若用非法參數(shù)調(diào)用setlinestyle()函數(shù),那么graphresult()會返回錯誤代碼,并且當(dāng)前線型繼續(xù)有效。 Turbo C提供的線型與線寬定義在頭文件graphics.h中,表1-10和1-11分別列出了參數(shù)的取值與含義。 表1-10 線型 名稱取值含義SOLID_LINE0實線DOTTED_LINE1點線CENTE

30、R_LINE2中心線DASHED_LINE3虛線USERBIT_LINE4用戶自定義線型表1-11 線寬 名 稱取 值說 明NORM_WIDTH(常寬)1一個像素寬(缺省值)THICK_WIDTH(加寬)3三個像素寬這個函數(shù)的頭文件是graphics.h 返回值: 無 例: 下面的程序顯示了BC中所提供的線型圖樣: #i nclude void main() int driver,mode;i; driver=DETECT; mode=0; initgraph(&driver,&mode,); for(i=0;i4;i+) setlinestyle(i,0,1); line(i*50,200,

31、i*50+60,200) ; getch(); restorecrtmode(); getlinesettings() 獲取線型設(shè)置函數(shù)功能: 函數(shù)getlinesettings() 用當(dāng)前設(shè)置的線型、線圖樣和線寬填 寫linesettingstype型結(jié)構(gòu)。 用法: 函數(shù)調(diào)用方式為void getlinesettings(struct linesettingstype *info); 說明: 此函數(shù)調(diào)用執(zhí)行后,當(dāng)前的線型、線圖樣和線寬值被裝入info指向的結(jié)構(gòu)里,從而可從該結(jié)構(gòu)中獲得線型設(shè)置。 linesettingstype型結(jié)構(gòu)定義如下: struct linesettingstype

32、int linestyle; unsigned upattern; int thickness; ; 其中l(wèi)inestyle用于存放線型,線型值為表1-10中的各值之一。 upattern用為裝入用戶自定義線圖樣,這是16位字,每一位等于一個像素,如果哪個位被設(shè)置,那么該像素打開,否則關(guān)閉。 thickness為線寬值存放的變量,可參見表1-11。 getlinesettings()函數(shù)對應(yīng)的頭文件為graphics.h 返回值: 返回的線型設(shè)置存放在info指向的結(jié)構(gòu)中。 例: 把當(dāng)前線型的設(shè)置寫入info結(jié)構(gòu): struct linesettingstype info; getlinese

33、ttings(&info); setwritemode() 設(shè)置畫線模式函數(shù)功能: 函數(shù)setwritemode() 設(shè)置畫線模式 用法: 函數(shù)調(diào)用方式為 void setwritemode()(int mode); 說明: 參數(shù)mode只有兩個取值0和1,若mode為0,則新畫的線將覆蓋屏幕上原有的圖形,此為缺省畫線輸出模式。如果mode為1,那么新畫的像素點與原有圖形的像素點先進(jìn)行異或(XOR)運算,然后輸出到屏幕上,使用這種畫線輸出模式,第二次畫同一圖形時,將擦除該圖形。調(diào)用setwritemode()設(shè)置的畫線輸出模式只影響函數(shù)line(),lineto(),linerel(),rec

34、angle()和drawpoly()。 setwritemode()函數(shù)對應(yīng)的頭文件是graphics.h 返回值: 無 例: 設(shè)置畫線輸出模式為0: setwritemode(0); (三)、多邊形函數(shù)對多邊形,無疑可用畫直線函數(shù)來畫出它,但直接提供畫多邊形的函數(shù)會給用戶很大方便。最常見的多邊形有矩形、矩形塊(或稱條形)、多邊形和多邊形塊,我們還把長方形條塊也放到這里一起考慮,雖然它不是多邊形,但它的特例就是矩形(塊)。下面直接介紹畫多邊形的函數(shù)。 rectangle() 畫矩形函數(shù)功能: 函數(shù)rectangle() 用當(dāng)前繪圖色、線型及線寬,畫一個給定左上角與右下角的矩形(正方形或長方形)

35、。 用法: 此函數(shù)調(diào)用方式為void rectangle(int left,int top,int right,int bottom); 說明: 參數(shù)left,top是左上角點坐標(biāo),right,bottom是右下角點坐標(biāo)。如果有一個以上角點不在當(dāng)前圖形視口內(nèi),且裁剪標(biāo)志clip設(shè)置的是真(1),那么調(diào)用該函數(shù)后,只有在圖形視口內(nèi)的矩形部分才被畫出。 這個函數(shù)對應(yīng)的頭文件為graphics.h 返回值: 無 例: 下面的程序畫一些矩形實例: #i nclude void main() int driver,mode; driver=DETECT; mode=0; initgraph(&drive

36、r,&mode,); rectangle(80,80,220,200); rectangle(140,99,180,300); rectangle(6,6,88,88); rectangle(168,72,260,360); getch(); restorecrtmode(); bar() 畫條函數(shù)功能: 函數(shù)bar()用當(dāng)前填充圖樣和填充色(注意不是給圖色)畫出一個指定上左上角與右下角的實心長條形(長方塊或正方塊),但沒有四條邊線)。 用法: bar()函數(shù)調(diào)用方式為void bar(int left,int top,int right,int bottom); 說明: 參數(shù)left,top

37、right,bottom分別為左上角坐標(biāo)與右下角坐標(biāo),它們和調(diào)用函數(shù)rectangle()的情形相同,調(diào)用此函數(shù)前,可用setfillstyle()或setfillpattern()設(shè)置當(dāng)前填充圖樣和填充色。 注意此函數(shù)只畫沒有邊線的條形,如果要畫有邊線的的條形,可調(diào)用下面的函數(shù)bar3d()來畫,并將深度參數(shù)設(shè)為0,同時topflag參數(shù)要設(shè)置為真,否則該條形無頂邊線。 這 應(yīng)的頭文件為graphics.h 返回值: 無 例: 見函數(shù)bar3d()中的實例。 bar3d() 畫條塊函數(shù)功能: 函數(shù)bar3d() 使用當(dāng)前繪圖色、線型及線寬畫出三維長方形條塊,并用當(dāng)前填充圖樣和填 充色填充該三

38、維條塊的表面。 用法: 此函數(shù)調(diào)用方式為void bar3d(int left,int top,int right,int bottom,int depth,int topflag); 說明: 參數(shù)left,top,right,bottom分另為左上角與右下角坐標(biāo),這與bar()函數(shù)中的一樣。參數(shù)depth為條塊的深度,以像素為單位,通常按寬度的四分之一計算。深度方向通過屏顯縱橫比調(diào)節(jié)為約45度(即這時x/y比設(shè)置為1:1)。 參數(shù)topflag相當(dāng)于一個HYPERLINK /view/46060.htm布爾參數(shù),如果設(shè)置為1(真)那么條塊上放一頂面;若設(shè)置為0(假),則三維條形就沒有頂面,這

39、樣可使多個三維條形疊加在一起。 要使圖形更加美觀,可利用函數(shù)floodfill()或setfillpattern()來選擇填充圖樣和填充色(參見本小節(jié)(五)填充函數(shù) )。 bar3d()函數(shù)對應(yīng)的頭文件為graphics.h 返回值: 無 例: 下面的程序畫一個條形和條塊: #i nclude void main() int driver,mode; driver=DETECT; mode=0; initgraph(&driver,&mode,); setfillstyle(SOLID-FILL,GREEN); bar(60,80,220,160); setfillstyle(SOLID-FI

40、LL,RED); bar3d(260,180,360,240,20,1); getch(); restorecrtmode(); drawpoly() 畫多邊形函數(shù)功能: 函數(shù)drawpoly() 用當(dāng)前繪圖色、線型及線寬,畫一個給定若干點所定義的多邊形。 用法: 此函數(shù)調(diào)用方式為void drawpoly(int pnumber,int *points); 說明: 參數(shù)pnumber為多邊形的頂點數(shù);參數(shù)points指向整型HYPERLINK /view/209670.htm數(shù)組,該數(shù)組中是多邊形所有頂點(x,y)坐標(biāo)值,即一系列整數(shù)對,x坐標(biāo)值在前。顯然整型數(shù)組的維數(shù)至少為頂點數(shù)的2倍,在

41、定義了多邊形所有頂點的數(shù)組polypoints時,頂點數(shù)目可通過計算sizeof(polypoints)除以2倍的sizeof(int)得到,這里除以2倍的原因是每個頂點有兩個整數(shù)坐標(biāo)值。另外有一點要注意,畫一個n個頂點的閉合圖形,頂點數(shù)必須等于n+1,并且最后一點(第n+1)點坐標(biāo)必須等于第一點的坐標(biāo)。 drawpoly()函數(shù)對應(yīng)的頭文件為grpahics.h 返回值: 無 例: 下面的程序畫一個封閉星形圖與一個不封閉星形圖: #i nclude void main() int driver,mode; static int polypoints118=100,100,110,120,10

42、0,130,120,125,140,140,130,120, 140,110,120,115,100,100; static int polypoints218=180,100,210,120,200,130,220,125,240,140,230,120, 240,110,220,115,220,110; driver=DETECT; mode=0; initgraph(&driver,&mode,); drawpoly(9,polypoints1); drawpoly(9,polypoints2); getch(); restorecrtmode(); (四)、 圓、弧和曲線函數(shù)在一個屏幕

43、上畫得很圓的圖形到另一個屏幕上可能被壓扁或拉長,這是因為每一種顯示卡與之相應(yīng)的顯示模式都有一個縱橫比??v橫比是指像素的水平方向大小與垂直方向大小的比值。如VGA顯示卡由于偈素基本上是正方形,所以縱橫比為1.000。 為了保證幾何圖形基本按預(yù)計情況顯示在屏幕上,用屏顯的縱橫比來計算和糾正不同硬件及顯示卡產(chǎn)生的畸變。計算縱橫比所需要的水平方向和垂直方向的比例系數(shù)可調(diào)用函數(shù)getaspectratio()獲得。 getaspectratio()獲取縱橫比函數(shù)功能: 函數(shù)getaspectratio()返回x方向和y方向的比例系數(shù),用這兩個整型值可計算某一特定屏顯的縱橫比。 用法: 此函數(shù)調(diào)用方式為v

44、oid getaspectratio(int xasp,int yasp); 說明: 參數(shù)xasp指向的變量存放返回的x方向比例系數(shù);參數(shù)yasp指向的變量存放返回的y方向比例系數(shù)。通常y方向比例系數(shù)為10 000, x方向比例系數(shù)不大于10 000(這是因為大多數(shù)屏幕像素高比寬長)。 注意縱橫比自動用作下面函數(shù)arc(),circle()和pieslice()中的標(biāo)尺因子,使屏幕上圓或弧正常顯示。但用ellipse()函數(shù)畫橢圓必須調(diào)用本函數(shù)獲取縱橫比作為標(biāo)尺因子,否則不予調(diào)整??v橫比可用于其它幾何圖形,目的是校正和顯示圖形。 getaspectratio()函數(shù)對應(yīng)的頭文件為graphic

45、s.h 返回值: 返回x與y方向比例系數(shù)分別存放在xasp和yasp所指向的變量中。 例: 下面的程序顯示縱橫比: int xasp,yasp; float aspectratio; getaspectratio(&xasp,&yasp); aspectratio=xasp/yasp; printf(aspect ratio: %f,aspectratio); circle()畫圓函數(shù)功能: 函數(shù)circle()使用當(dāng)前繪圖色并以實線畫一個完整的圓。 用法:該函數(shù)調(diào)用方式為void circle(int x,int y,int radius); 說明: 參數(shù)x,y為圓心坐標(biāo),radius為圓半

46、徑,用像素個素表示。注意,調(diào)用circle()函數(shù)畫圓時不用當(dāng)前線型。 不同于ellipse()函數(shù),只用單個半徑radius參數(shù)調(diào)用circle()函數(shù),故屏顯縱橫比可以自動調(diào)節(jié),以產(chǎn)生正確的顯示圖。 此函數(shù)對應(yīng)的頭文件為graphics.h 返回值: 無 例: 畫六個同心圓,圓心在(100,100)。 #i nclude void main() int driver,mode; driver=DETECT; mode=0; initgraph(&driver,&mode,); circle(100,100,10); circle(100,100,20); circle(100,100,30

47、); circle(100,100,40); circle(100,100,50); circle(100,100,60); getch(); restorecrtmode(); arc() 畫圓弧函數(shù)功能: 函數(shù)arc()使用當(dāng)前繪圖色并以實線畫一圓弧。 用法: 函數(shù)調(diào)用方式為void arc(int x,int y,int startangle,int endangle,int radius); 說明: 參數(shù)x,y為圓心坐標(biāo),startangle與endangle分別為起始角與終止角,radius為半徑。圓心坐標(biāo)和半徑以像素個數(shù)給出,起始角和終止角以度為單位,0度位于右邊,90度位于頂部,

48、180度位于左邊,底部是270度。同往常一樣,360度與0度重合。角度按逆時針方向增加,但并不要求終止角一定比起始角大。例如指定300度和90度分別為起始角和終止角,與指定300度和450度分別為起始角和終止角可畫出相同的弧。大于360度可作為參數(shù),它將被化到0度360度范圍里。函數(shù)arc()能畫封閉圓,只要取起始角為0度,終止角為360度即可。此函數(shù)中,屏顯縱橫比可自動調(diào)節(jié)。 arc()函數(shù)對應(yīng)的頭文件為graphics.h 返回值: 無 例: 以(200,200)為圓心,100為半徑,從0度到120度畫圓弧: #i ncludegraphics.h void main() int driv

49、er,mode; driver=DETECT; mode=0; initgraph(&driver,&mode,); setcolor(WHITE); arc(200,200,0,120,100); getch(); restorecrtmode(); graphics.h頭文件的內(nèi)容:/* graphics.h Definitions for Graphics Package. Copyright (c) Borland International 1987,1988 All Rights Reserved. */ #if _STDC_ #define _Cdecl #else #defin

50、e _Cdecl cdecl #endif #if !defined(_GRAPHX_DEF_) #define _GRAPHX_DEF_ enum graphics_errors /* graphresult error return codes */ grOk = 0, grNoInitGraph = -1, grNotDetected = -2, grFileNotFound = -3, grInvalidDriver = -4, grNoLoadMem = -5, grNoScanMem = -6, grNoFloodMem = -7, grFontNotFound = -8, grN

51、oFontMem = -9, grInvalidMode = -10, grError = -11, /* generic error */ grIOerror = -12, grInvalidFont = -13, grInvalidFontNum = -14, grInvalidVersion = -18 ; enum graphics_drivers /* define graphics drivers */ DETECT, /* requests autodetection */ CGA, MCGA, EGA, EGA64, EGAMONO, IBM8514, /* 1 - 6 */

52、HERCMONO, ATT400, VGA, PC3270, /* 7 - 10 */ CURRENT_DRIVER = -1 ; enum graphics_modes /* graphics modes for each driver */ CGAC0 = 0, /* 320 x200 palette 0; 1 page */ CGAC1 = 1, /* 320 x200 palette 1; 1 page */ CGAC2 = 2, /* 320 x200 palette 2: 1 page */ CGAC3 = 3, /* 320 x200 palette 3; 1 page */ C

53、GAHI = 4, /* 640 x200 1 page */ MCGAC0 = 0, /* 320 x200 palette 0; 1 page */ MCGAC1 = 1, /* 320 x200 palette 1; 1 page */ MCGAC2 = 2, /* 320 x200 palette 2; 1 page */ MCGAC3 = 3, /* 320 x200 palette 3; 1 page */ MCGAMED = 4, /* 640 x200 1 page */ MCGAHI = 5, /* 640 x480 1 page */ EGALO = 0, /* 640 x

54、200 16 color 4 pages */ EGAHI = 1, /* 640 x350 16 color 2 pages */ EGA64LO = 0, /* 640 x200 16 color 1 page */ EGA64HI = 1, /* 640 x350 4 color 1 page */ EGAMONOHI = 0, /* 640 x350 64K on card, 1 256K on card, 4 pages */ HERCMONOHI = 0, /* 720 x348 2 pages */ ATT400C0 = 0, /* 320 x200 palette 0; 1 p

55、age */ ATT400C1 = 1, /* 320 x200 palette 1; 1 page */ ATT400C2 = 2, /* 320 x200 palette 2; 1 page */ ATT400C3 = 3, /* 320 x200 palette 3; 1 page */ ATT400MED = 4, /* 640 x200 1 page */ ATT400HI = 5, /* 640 x400 1 page */ VGALO = 0, /* 640 x200 16 color 4 pages */ VGAMED = 1, /* 640 x350 16 color 2 p

56、ages */ VGAHI = 2, /* 640 x480 16 color 1 page */ PC3270HI = 0, /* 720 x350 1 page */ IBM8514LO = 0, /* 640 x480 256 colors */ IBM8514HI = 1 /*1024x768 256 colors */ ; /* Colors for setpalette and setallpalette */ #if !defined(_COLORS) #define _COLORS enum COLORS BLACK, /* dark colors */ BLUE, GREEN

57、, CYAN, RED, MAGENTA, BROWN, LIGHTGRAY, DARKGRAY, /* light colors */ LIGHTBLUE, LIGHTGREEN, LIGHTCYAN, LIGHTRED, LIGHTMAGENTA, YELLOW, WHITE ; #endif enum CGA_COLORS CGA_LIGHTGREEN = 1, /* Palette C0 Color Names */ CGA_LIGHTRED = 2, CGA_YELLOW = 3, CGA_LIGHTCYAN = 1, /* Palette C1 Color Names */ CGA

58、_LIGHTMAGENTA = 2, CGA_WHITE = 3, CGA_GREEN = 1, /* Palette C2 Color Names */ CGA_RED = 2, CGA_BROWN = 3, CGA_CYAN = 1, /* Palette C3 Color Names */ CGA_MAGENTA = 2, CGA_LIGHTGRAY = 3 ; enum EGA_COLORS EGA_BLACK = 0, /* dark colors */ EGA_BLUE = 1, EGA_GREEN = 2, EGA_CYAN = 3, EGA_RED = 4, EGA_MAGEN

59、TA = 5, EGA_BROWN = 20, EGA_LIGHTGRAY = 7, EGA_DARKGRAY = 56, /* light colors */ EGA_LIGHTBLUE = 57, EGA_LIGHTGREEN = 58, EGA_LIGHTCYAN = 59, EGA_LIGHTRED = 60, EGA_LIGHTMAGENTA = 61, EGA_YELLOW = 62, EGA_WHITE = 63 ; enum line_styles /* Line styles for get/setlinestyle */ SOLID_LINE = 0, DOTTED_LIN

60、E = 1, CENTER_LINE = 2, DASHED_LINE = 3, USERBIT_LINE = 4, /* User defined line style */ ; enum line_widths /* Line widths for get/setlinestyle */ NORM_WIDTH = 1, THICK_WIDTH = 3, ; enum font_names DEFAULT_FONT = 0, /* 8x8 bit mapped font */ TRIPLEX_FONT = 1, /* Stroked fonts */ SMALL_FONT = 2, SANS

溫馨提示

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

評論

0/150

提交評論