關於部落格
順子&阿芳的部落格
  • 86677

    累積人氣

  • 1

    今日人氣

    2

    追蹤人氣

『BCB』將螢幕畫面儲存成bmp圖檔

我覺得這個程式碼很棒,我從程式設計俱樂部看到的,如果加上常駐功能,並且攔截WindowsMessage,就可以做到一個用熱鍵啟動的螢幕擷取器。
這對程式讓我訝異的是他的語法很像VC,這點很吸引我,我一直不喜歡VC的操作環境,但是對於他的功能卻是覺得比BCB強太多了,看到下面的程式碼讓我會想用BCB去RUN VC的程式看看。

    // 存放 full screen 的 bmp
    Graphics::TBitmap* pBmp = new Graphics::TBitmap();
    pBmp->Width = Screen->Width; // Screen: bcb global var: screen
    pBmp->Height = Screen->Height;
    // 取得 full screen 的 canvas
    TCanvas* pCanvas = new TCanvas();
    HDC hDc = ::GetDC(NULL); // 取得 full screen 的 dc
    pCanvas->Handle = hDc;
    // copy 到 bmp
    TRect aRect(0, 0, Screen->Width, Screen->Height); // full screen 大小
    pBmp->Canvas->CopyRect(aRect, pCanvas, aRect);
    // 釋放記憶體
    ::ReleaseDC(0, hDc);
    delete pCanvas;

    TMemoryStream* pms = new TMemoryStream();
    pBmp->SaveToStream(pms);
    pms->SaveToFile("C:\temp.bmp");
    delete pms;

相簿設定
標籤設定
相簿狀態