關於屏幕顯示特效 |
尚未結案
|
dakine
一般會員 發表:6 回覆:10 積分:3 註冊:2003-07-16 發送簡訊給我 |
不好意思..我在練習BCB的特效...後來找到這篇老文章
http://delphi.ktop.com.tw/topic.php?topic_id=20229 想說來試試看..我重新Keyin Compiler也過了...
可是按下選項就會出現下面這個問題
我找不出哪裡錯了...請問他圖片的規格有限定嘛??..我試過幾張不同大小的bmp圖.路徑也沒錯都有compiler過了 可是一點下MainMenu的特效選項Error就出來了
以下是我的程式碼 我試了第一個功能Items1
-->Error先出現在這邊 WideHalf=Bitmap1->Width/2+Bitmap1->Width%2;
//------------------------------------------------------------ void __fastcall TForm1::Items11Click(TObject *Sender) { Form1->Refresh(); WideHalf=Bitmap1->Width/2+Bitmap1->Width%2; for(i=0;i<=WideHalf;i++) { Dest1=Rect(WideHalf-i,0,WideHalf+i,Bitmap1->Height); Source1=Rect(WideHalf-i,0,WideHalf+i,Bitmap1->Height); Form1->Canvas->CopyRect(Dest1,Bitmap1->Canvas,Source1); for(j=0;j<10000;j++) ; } } //---------------------------------------------------------------------------麻煩指點我一下...謝謝 新手多多包含~~ 發表人 - taishyang 於 2003/10/14 14:33:58 發表人 - taishyang 於 2003/10/14 16:18:20 |
taishyang
站務副站長 發表:377 回覆:5490 積分:4563 註冊:2002-10-08 發送簡訊給我 |
dakine您好:
試試下面的code
//*.h class TForm1 : public TForm { __published: // IDE-managed Components TImage *Image1; TMainMenu *MainMenu1; TMenuItem *Caption; TMenuItem *Item11; TMenuItem *Item21; TMenuItem *Item31; void __fastcall FormCreate(TObject *Sender); void __fastcall Item11Click(TObject *Sender); void __fastcall Item21Click(TObject *Sender); void __fastcall Item31Click(TObject *Sender); void __fastcall Image1Click(TObject *Sender); private: // User declarations BITMAP bm; Graphics::TBitmap *Bitmap1; int i,j,WideHalf,HeightHalf; TRect Dest1,Source1,Dest2,Source2; HRGN MyRgn; public: // User declarations __fastcall TForm1(TComponent* Owner); }; //*.cpp void __fastcall TForm1::FormCreate(TObject *Sender) { Bitmap1 = new Graphics::TBitmap(); Bitmap1->LoadFromFile("1.bmp"); /* if(GetDeviceCaps(Form1->Canvas->Handle,BITSPIXEL)==8) { GetObject(Bitmap1->Handle,sizeof(BITMAP),(LPSTR)&bm); if (bm.bmBitsPixel==8) { SelectPalette(Form1->Canvas->Handle,Bitmap1->Palette,FALSE); RealizePalette(Form1->Canvas->Handle); } Bitmap1->HandleType=bmDDB; } */ } //--------------------------------------------------------------------------- void __fastcall TForm1::Item11Click(TObject *Sender) { Form1->Refresh(); WideHalf=Bitmap1->Width/2 Bitmap1->Width%2; for(i=0;i<=WideHalf; i ) { Dest1=Rect(WideHalf-i,0,WideHalf i,Bitmap1->Height); Source1=Rect(WideHalf-i,0,WideHalf i,Bitmap1->Height); Form1->Canvas->CopyRect(Dest1,Bitmap1->Canvas,Source1); for(j=0;j<1000000;j );//圖像的延遲顯示// } } //--------------------------------------------------------------------------- void __fastcall TForm1::Item21Click(TObject *Sender) { Form1->Refresh(); WideHalf=Bitmap1->Width/2 Bitmap1->Width%2; Form1->Refresh(); for(i=0;i<=WideHalf;i ) { Source1=Dest1=Rect(0,0,i,Bitmap1->Height); Source2=Dest2=Rect(Bitmap1->Width-i,0,Bitmap1->Width,Bitmap1->Height); Form1->Canvas->CopyRect(Dest1,Bitmap1->Canvas,Source1); Form1->Canvas->CopyRect(Dest2,Bitmap1->Canvas,Source2); for(j=0;j<1000000;j ); } } //--------------------------------------------------------------------------- void __fastcall TForm1::Item31Click(TObject *Sender) { Form1->Refresh(); HeightHalf=Bitmap1->Height/2 Bitmap1->Height%2; for(i=0;i<=HeightHalf;i ) { Dest1=Rect(0,HeightHalf-i,Bitmap1->Width,HeightHalf); Source1=Rect(0,0,Bitmap1->Width,i); Dest2=Rect(0,HeightHalf,Bitmap1->Width,HeightHalf i); Source2=Rect(0,Bitmap1->Height-i,Bitmap1->Width,Bitmap1->Height); Form1->Canvas->CopyRect(Dest1,Bitmap1->Canvas,Source1); Form1->Canvas->CopyRect(Dest2,Bitmap1->Canvas,Source2); for(j=0;j<1000000;j ); } }順心 |
dakine
一般會員 發表:6 回覆:10 積分:3 註冊:2003-07-16 發送簡訊給我 |
|
taishyang
站務副站長 發表:377 回覆:5490 積分:4563 註冊:2002-10-08 發送簡訊給我 |
dakine您好:
引言: 請問一下歐~~ 1.為什麼它哪段不用就可以了呢...老實說我不太懂它的宣告方式... 可不可以跟我稍微解釋一下呢~~謝謝... 2.還有一點就是... 一開始我想說先直接Copy原文章過來compiler看看是什麼效果... 可是Compiler就會有字元上的error 為什麼你的文章就不會了呢.. 還是我要先做什麼修改才可以直接Compiler那篇文章的code... 麻煩跟我說一下不好意思,我沒有仔細看它的source code 我只是依照錯誤訊息的提示幫您try出來的< > 順心< > ~我也是在學習的階段,回答的不好請您多多見諒與指教~ |
dakine
一般會員 發表:6 回覆:10 積分:3 註冊:2003-07-16 發送簡訊給我 |
|
taishyang
站務副站長 發表:377 回覆:5490 積分:4563 註冊:2002-10-08 發送簡訊給我 |
|
dakine
一般會員 發表:6 回覆:10 積分:3 註冊:2003-07-16 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |