線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:913
推到 Plurk!
推到 Facebook!

關於屏幕顯示特效

尚未結案
dakine
一般會員


發表:6
回覆:10
積分:3
註冊:2003-07-16

發送簡訊給我
#1 引用回覆 回覆 發表時間:2003-10-14 04:36:09 IP:218.170.xxx.xxx 未訂閱
不好意思..我在練習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

發送簡訊給我
#2 引用回覆 回覆 發表時間:2003-10-14 15:57:24 IP:140.135.xxx.xxx 未訂閱
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

發送簡訊給我
#3 引用回覆 回覆 發表時間:2003-10-14 18:23:46 IP:218.170.xxx.xxx 未訂閱
taishyang 您好: 請問一下歐~~ 1.為什麼它哪段不用就可以了呢...老實說我不太懂它的宣告方式... 可不可以跟我稍微解釋一下呢~~謝謝... 2.還有一點就是... 一開始我想說先直接Copy原文章過來compiler看看是什麼效果... 可是Compiler就會有字元上的error 為什麼你的文章就不會了呢.. 還是我要先做什麼修改才可以直接Compiler那篇文章的code... 麻煩跟我說一下 對不起 新手多多包含
taishyang
站務副站長


發表:377
回覆:5490
積分:4563
註冊:2002-10-08

發送簡訊給我
#4 引用回覆 回覆 發表時間:2003-10-14 18:29:20 IP:140.135.xxx.xxx 未訂閱
dakine您好:
引言: 請問一下歐~~ 1.為什麼它哪段不用就可以了呢...老實說我不太懂它的宣告方式... 可不可以跟我稍微解釋一下呢~~謝謝... 2.還有一點就是... 一開始我想說先直接Copy原文章過來compiler看看是什麼效果... 可是Compiler就會有字元上的error 為什麼你的文章就不會了呢.. 還是我要先做什麼修改才可以直接Compiler那篇文章的code... 麻煩跟我說一下
不好意思,我沒有仔細看它的source code 我只是依照錯誤訊息的提示幫您try出來的< > 順心< > ~我也是在學習的階段,回答的不好請您多多見諒與指教~
dakine
一般會員


發表:6
回覆:10
積分:3
註冊:2003-07-16

發送簡訊給我
#5 引用回覆 回覆 發表時間:2003-10-14 21:13:34 IP:218.170.xxx.xxx 未訂閱
引言: 1.為什麼它哪段不用就可以了呢...老實說我不太懂它的宣告方式... 可不可以跟我稍微解釋一下呢~~謝謝... 2.還有一點就是... 一開始我想說先直接Copy原文章過來compiler看看是什麼效果... 可是Compiler就會有字元上的error 為什麼你的文章就不會了呢.. 還是我要先做什麼修改才可以直接Compiler那篇文章的code... 麻煩跟我說一下
有沒有人可以幫我說明一下呢...弄不太懂...多謝~
taishyang
站務副站長


發表:377
回覆:5490
積分:4563
註冊:2002-10-08

發送簡訊給我
#6 引用回覆 回覆 發表時間:2003-10-14 21:30:07 IP:140.135.xxx.xxx 未訂閱
dakine您好: 1.是哪裡不懂呢?function多半都可以從help中查詢到說明 > <>~我也是在學習的階段,回答的不好請您多多見諒與指教~ 發表人 -
dakine
一般會員


發表:6
回覆:10
積分:3
註冊:2003-07-16

發送簡訊給我
#7 引用回覆 回覆 發表時間:2003-10-17 00:12:31 IP:218.170.xxx.xxx 未訂閱
我知道了...只是一開始有一些宣告都還沒用過... 所以看的有點霧颯颯...多謝指導~
系統時間:2024-05-01 0:21:13
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!