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

關於GDI畫圖問題

尚未結案
swhsu
一般會員


發表:2
回覆:1
積分:0
註冊:2002-09-18

發送簡訊給我
#1 引用回覆 回覆 發表時間:2003-08-29 13:23:08 IP:61.217.xxx.xxx 未訂閱
大家好: 小弟想畫一個正弦波形, 可是想要先畫在背景記憶體中, 然後再貼上螢幕這樣,可是不知道為什麼總是失敗。 視窗總是只有載入的圖形而已, 波形總是無法出現,而此波形是可以利用捲軸來移動, 但是移動的時候都會閃爍白色的畫片出現, 不知道該怎麼辦才好,是否有人可以教教我呢? 謝謝各位的幫忙。以下是小弟寫在OnPaint的函式。    
void __fastcall TFormWave::FormPaint(TObject *Sender)
{
        Graphics::TBitmap *bmp=new Graphics::TBitmap;
        bmp->LoadFromFile("Wave.bmp");
        Canvas->Draw(8,8,bmp);
        HDC hDC = GetDC(this);        
        HDC hMemDC = CreateCompatibleDC(Canvas->Handle);            int xWe;            tx = 0;
        ty = vx*30*(-sin(PI/180*0*12));
        px = tx   10;
        py = ty   130;
        Canvas->Pen->Color = clYellow;
        if ( (px xpn)<310 )
          MoveToEx(hMemDC,px xpn,py ypn,NULL);            for (int tn=0;tn<=300;tn  )
        {
           tx = tn;
           if (fx>0)
             ty = vx*30*(-sin(PI/180*tn*(1.2*fx)));
           else if (fx==0)
             ty = vx*30*(-1)*2;
           else
             ty = vx*30*(-sin(PI/180*tn*(1.2*1)));               px = tx   10;
           py = ty   130;               if ( (px xpn)<310 )
             LineTo(hMemDC,px xpn,py ypn);
        }
        BitBlt(hDC,8,8,305,245,hMemDC,0,0,SRCCOPY);
}
發表人 - swhsu 於 2003/08/29 15:00:54
taishyang
站務副站長


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

發送簡訊給我
#2 引用回覆 回覆 發表時間:2003-08-29 13:47:22 IP:140.135.xxx.xxx 未訂閱
swhsu您好:  請先參考下面的文章做適當的修正  http://delphi.ktop.com.tw/topic.php?TOPIC_ID=36133 謝謝您的配合 順心 <>~我也是在學習的階段,回答的不好請您多多見諒與指教~
系統時間:2024-04-26 11:09:48
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!