全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:1137
推到 Plurk!
推到 Facebook!

想將從桌面擷取下來的map 經過處理後再秀出 但不知為何 速度超極慢

尚未結案
fsmroy
一般會員


發表:2
回覆:0
積分:0
註冊:2006-10-04

發送簡訊給我
#1 引用回覆 回覆 發表時間:2006-10-04 11:48:22 IP:140.131.xxx.xxx 訂閱

void __fastcall TForm1::Timer1Timer(TObject *Sender)
{
DesktopDC = GetDC(0);
map->Handle = CreateCompatibleBitmap(DesktopDC, Screen->Width, Screen->Height);


BitBlt(map->Canvas->Handle, 0, 0, Screen->Width, Screen->Height, DesktopDC, 0, 0, SRCCOPY);
DeleteDC(DesktopDC);


Image1->Picture->Bitmap->Assign(map);


for (int y = 0; y < 768; y )
{
ptr = (Byte *)map->ScanLine[y]; <-------------就是這段超級慢
for (int x = 0; x <1024; x )
{ } // *******還未加入程式********
}


}

照理說 ScanLine 速度應該很快 但是不知道為什麼在這邊使用 速度變的超級慢

不知道是不是因為map 的內容關係 還是什麼因素造成的 只要執行到有關map 的程式部份

速度就會慢到不行... 感謝

附加檔案:擷取桌面.rar
harrypp
中階會員


發表:7
回覆:124
積分:61
註冊:2006-08-31

發送簡訊給我
#2 引用回覆 回覆 發表時間:2006-10-04 17:04:28 IP:210.68.xxx.xxx 未訂閱
不要用scanline用Stretch Draw
Graphics::TBitmap *MyPicture;
Image1->Canvas->FillRect(TRect(0,0,1000,2000));
Image1->Picture->Bitmap->Canvas->StretchDraw(rtView, MyPicture->Picture->Graphic);
系統時間:2024-05-04 23:11:51
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!