Graphics是一個抽象基類,它用于存儲和顯示虛擬圖像,Graphics提供的方法只是用于創(chuàng)建一個公共的接口,而圖像的子類重定義了方法來指定特定的文件和圖像格式。
1.Graphics的主要屬性
·Empty屬性:用來獲得一個圖像是否包含另外一個圖像。
·Height和Width屬性:用來獲得或設(shè)置圖像的垂直高度和水平寬度。
·Modified屬性:如果Modified屬性設(shè)置為True,表示圖像對象被更改過,否則表示圖像對象與載入時狀態(tài)相同。
·Palette屬性:用來獲得或設(shè)置圖像的調(diào)色板,如果圖像不需要或不使用調(diào)色板則Palette為0。
2.Graphics的主要方法
· virtual void_fastcall LoadFromClipboardFormat(Word Aformat,int Adata,HPALETTE Apalette)=0;
virtual void fastcall SaveToClipboardFormat(Word&Aformat,int&Adata,HPALETTE &Apalette)=0;
虛函數(shù)LoadFromClipboardFormat聲明了將剪貼板格式的對象復(fù)制到圖像里的接口,而SaveToClipboardFormat聲明了將圖像對象保存到剪貼板的接口。
virtual void_fastcall LoadFromFile(const AnsiString FileName);virtual void _fastcall SaveToFile(const AnsiString FileName);
虛函數(shù)LoadFromFile聲明了將文件名為FileName的圖像文件裝載到對象中的接口,而SaveToFile聲明了將圖像對象保存到FileNam文件里的接口。
· virtual void _fastcall LoadFromStream(Class::TStream*Stream)=0;virtual void fastcall SaveToStream(Class::TStream*Stream)=0;
虛函數(shù)LoadFromStream聲明了從Stream圖像流裝載到對象中的接口,而SaveToStream聲明了將圖像對象保存到Stream流中的接口。
3.Graphics的主要事件
·OnChange事件:圖像改變后,觸發(fā)該事件。
·OnProgress事件:當(dāng)一個處于進程中的圖像改變后,觸發(fā)該事件。
Graphics類的使用。
效果:單擊【創(chuàng)建】按鈕,會在窗體上出現(xiàn)一塊白色區(qū)域。
(1)新建一個工程。在窗體上放置一命令按鈕,[Caption]為“創(chuàng)建”,實現(xiàn)創(chuàng)建一位圖對象。
(2)命令按鈕的代碼如下所示:
void_fastcall TForml::ButtonlClick(TObject*Sender)
{
Graphics::TBitmap*Graphicl=new Graphics::TBitmap();
Graphicl- >Width=500;
Graphicl- >Height=500;
Canvas- >Draw(0,0,Graphicl);
}
(3)編譯并運行程序,在窗體上會出現(xiàn)一塊白色的區(qū)域。
1.Graphics的主要屬性
·Empty屬性:用來獲得一個圖像是否包含另外一個圖像。
·Height和Width屬性:用來獲得或設(shè)置圖像的垂直高度和水平寬度。
·Modified屬性:如果Modified屬性設(shè)置為True,表示圖像對象被更改過,否則表示圖像對象與載入時狀態(tài)相同。
·Palette屬性:用來獲得或設(shè)置圖像的調(diào)色板,如果圖像不需要或不使用調(diào)色板則Palette為0。
2.Graphics的主要方法
· virtual void_fastcall LoadFromClipboardFormat(Word Aformat,int Adata,HPALETTE Apalette)=0;
virtual void fastcall SaveToClipboardFormat(Word&Aformat,int&Adata,HPALETTE &Apalette)=0;
虛函數(shù)LoadFromClipboardFormat聲明了將剪貼板格式的對象復(fù)制到圖像里的接口,而SaveToClipboardFormat聲明了將圖像對象保存到剪貼板的接口。
virtual void_fastcall LoadFromFile(const AnsiString FileName);virtual void _fastcall SaveToFile(const AnsiString FileName);
虛函數(shù)LoadFromFile聲明了將文件名為FileName的圖像文件裝載到對象中的接口,而SaveToFile聲明了將圖像對象保存到FileNam文件里的接口。
· virtual void _fastcall LoadFromStream(Class::TStream*Stream)=0;virtual void fastcall SaveToStream(Class::TStream*Stream)=0;
虛函數(shù)LoadFromStream聲明了從Stream圖像流裝載到對象中的接口,而SaveToStream聲明了將圖像對象保存到Stream流中的接口。
3.Graphics的主要事件
·OnChange事件:圖像改變后,觸發(fā)該事件。
·OnProgress事件:當(dāng)一個處于進程中的圖像改變后,觸發(fā)該事件。
Graphics類的使用。
效果:單擊【創(chuàng)建】按鈕,會在窗體上出現(xiàn)一塊白色區(qū)域。
(1)新建一個工程。在窗體上放置一命令按鈕,[Caption]為“創(chuàng)建”,實現(xiàn)創(chuàng)建一位圖對象。
(2)命令按鈕的代碼如下所示:
void_fastcall TForml::ButtonlClick(TObject*Sender)
{
Graphics::TBitmap*Graphicl=new Graphics::TBitmap();
Graphicl- >Width=500;
Graphicl- >Height=500;
Canvas- >Draw(0,0,Graphicl);
}
(3)編譯并運行程序,在窗體上會出現(xiàn)一塊白色的區(qū)域。

