資源描述:
《圖形、圖像及多媒體》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫。
1、第18章圖形、圖像與多媒體18.1最簡單的圖形現(xiàn)代的計(jì)算機(jī)軟件設(shè)計(jì)往往是圖形、圖象和多媒體的組合,有效地利用聲音、圖象可以更好的展示軟件的界面,給用戶一個(gè)良好的操作環(huán)境。C++Builder的集成開發(fā)環(huán)境中,已經(jīng)作好一些最簡單的圖形構(gòu)件,在使用的時(shí)候順便加入到你的程序就可以了,常用作修飾界面的圖形構(gòu)件有:GroupBox、Panel、Bevel、Shape等,只要在設(shè)計(jì)程序時(shí)多加注意,還可以發(fā)現(xiàn)其它構(gòu)件也可以作為圖形加入到應(yīng)用程序的窗體上,這些構(gòu)件在窗體設(shè)計(jì)時(shí)加入時(shí)根本就不需要代碼,只要設(shè)置相應(yīng)的屬性即可。Shape構(gòu)
2、件的shape屬性值:stCircle圓、stEllipse橢圓、stRectangle矩形(默認(rèn))、stRoundRect圓角矩形、stRoundSquare圓角正方形、stSquare、正方形。還可以設(shè)置它的Color屬性、Pen屬性。Bevel構(gòu)件的shape屬性值:bsBox方形、bsFrame框架型、bsTopLine頂線、bsBottomLine底線、bsLeftLine左邊線、bsRightLine右邊線、bsSpacer虛線。GroupBox、Panel構(gòu)件也有幾個(gè)屬性可以顯示在窗體上,得到不同的效果,
3、這里想要提示的有兩點(diǎn):一是這些屬性既是設(shè)計(jì)屬性也是運(yùn)行屬性,你可以在設(shè)計(jì)時(shí)設(shè)置,也可以在運(yùn)行是用代碼設(shè)置和改變,用法非常簡單;二是作為初學(xué)者往往對圖形、圖象和顏色著迷,在應(yīng)用程序的界面上設(shè)置大量的圖形,或者應(yīng)用了很多的顏色,最終效果并不理想。在計(jì)算機(jī)顯示卡上顏色是由紅(Red)、綠(Green)和藍(lán)(Blue)三中顏色組合而成的,常用的RGB值表如下。常用的RGB值表RGB顏色000黑色00255藍(lán)色02550綠色0255255青色25500紅色2550255紫色2552550黃色255255255白色在C++Buil
4、der中對構(gòu)件的顏色處理代碼如圖18.1所示:Shape1->Color=0X00FF00FFRGB圖18.1C++Builder中對構(gòu)件的顏色處理處理畫刷的代碼如下:Shape1->Brush->Color=RGB(255,255,255);//代表白色畫刷因?yàn)檫@些常數(shù)對編程人員來講很難記憶,C++Builder又定義一些符號常量代表常用的顏色,如下表:常數(shù)顏色常數(shù)顏色clAqua淺綠色AquaclMaroon褐紫紅色MaroonclBlack黑色BlackclNavy深藍(lán)色NavyBlueclBlue藍(lán)色Bluec
5、lOlive橄欖色OliveGreenclDkGray暗灰色DarkGrayclPurple紫色PurpleclFuchsia深紅色FuchsiaclRed紅色RedclGray灰色GrayclSilver銀色SilverclGreen綠色GreenclTeal藍(lán)綠色TealclLime灰綠色LimeGreenclWhite白色WhiteclLtGray亮灰色LightGrayclYellow黃色Yellow在程序中巧妙地應(yīng)用這些方法,也可以完成一些比較有效的圖形功能。18.2繪圖的初步體驗(yàn)XOYO為屏幕坐標(biāo)原點(diǎn),X為
6、橫向坐標(biāo),Y為縱向坐標(biāo)。要實(shí)現(xiàn)窗體圖形的繪制,必須了解計(jì)算機(jī)屏幕坐標(biāo)的設(shè)置如圖18.2:圖18.2計(jì)算機(jī)屏幕坐標(biāo)的設(shè)置下面設(shè)計(jì)一個(gè)簡單畫矩形程序,窗體上放置一個(gè)按鈕,按鈕的事件處理代碼為:void__fastcallTForm1::Button1Click(TObject*Sender){Canvas->Pen->Color=clRed;//設(shè)置畫筆顏色Canvas->Pen->Width=12;//設(shè)置畫筆寬度Canvas->Rectangle(50,50,350,350);//畫矩形}為了說明上述方法,下面在窗體上
7、放一個(gè)按鈕,產(chǎn)生事件處理代碼如下:void__fastcallTForm1::Button2Click(TObject*Sender){Canvas->Pie(50,50,350,200,50,50,260,200);}在屏幕上產(chǎn)生一個(gè)扇形圖。以下的幾個(gè)代碼段分別畫出不同的圖形。void__fastcallTForm1::Button3Click(TObject*Sender){Canvas->Pen->Color=clBlue;//設(shè)置畫筆顏色Canvas->MoveTo(10,10);//畫線起點(diǎn)Canvas->L
8、ineTo(100,100);//畫線終點(diǎn)Canvas->Brush->Color=clBtnFace;//畫刷顏色Canvas->Font->Name="仿宋";//字體設(shè)置Canvas->Font->Size=18;//字體大小Canvas->TextOut(Canvas->PenPos.x,Canvas->PenPos.y,