數碼資源網

文章頻道 軟件下載 安卓下載 蘋果下載

當前位置:首頁文章中心綜合應用軟件使用 → 通過Delphi的屏幕抓圖功能是怎麼實現

通過Delphi的屏幕抓圖功能是怎麼實現

時間:2017-12-13 10:35:25人氣:264作者:網友整理
抓圖手機軟件v1.5.3
抓圖手機軟件v1.5.3 for Android
  • 類型:安卓圖像處理大小:37.30M語言:簡體中文 評分:3.9
  • 抓圖手機軟件是一款功能強大的屏幕截圖工具,適用於Android和iOS平台。它可...
立即下載
抓圖手機版(電商圖片抓取軟件) v1.2.0 安卓版
抓圖手機版(電商圖片抓取軟件) v1.2.0 安卓版 for Android
  • 類型:安卓圖像處理大小:19.50M語言:簡體中文 評分:3.0
  • 在做經營電商店鋪的朋友們抓圖手機版這款最新的電商圖片抓取軟件您要了解一下哦!最新...
立即下載
抓圖貓免費版(種功能的圖片處理方法) v1.4 安卓版
抓圖貓免費版(種功能的圖片處理方法) v1.4 安卓版 for Android
  • 類型:安卓圖像處理大小:33.12M語言:簡體中文 評分:3.0
  • 手機上麵處理圖片現在也是越來越簡單了,小編給你帶來了一款剛登陸手機的好用的圖片處...
立即下載

通過Delphi的屏幕抓圖功能是怎麼實現的?隨著網絡技術的飛速發展,計算機網絡在各高等院校教學中的使用已非常普遍,下麵小編我就來為您講一講通過Delphi的屏幕抓圖功能是怎麼實現的吧!設計一款網絡監控軟件,監控學生計算機,十分必要。

通過Delphi的屏幕抓圖功能是怎麼實現

通過Delphi的屏幕抓圖功能是怎麼實現

此係統應具有以下功能:

(1)教師用機可以循環顯示學生計算機的顯示器上的畫麵。

(2)教師用機可以動態顯示某一學生計算機的顯示器上的畫麵。

(3)教師用機可以對學生用計算機發出警告信息和控製信息。

(4)學生用計算機開機自動運行服務端監控程序。

(5)為了防止學生用計算機的服務端監控程序,被學生發現用Ctrl+Alt+Del關閉,在Ctrl+Alt+Del對話框中必須隱藏程序。同時,應該隱藏程序在任務欄的按鈕。

本文結合應用實踐,重點向大家介紹在Delphi7.0中可以采用的兩種實現屏幕抓圖技術的操作方法。

程序實現

(1)抓取屏幕圖像的難點有兩個:一是如何奪取屏幕的句柄,二是知道屏幕句柄後如何獲取屏幕的圖像。Borland公司的設計人員用畫布(Tcanvas)對象封裝了Windows的大部分圖形輸出功能,可以通過它以更直觀的方式和Windows的屏幕打交道,而不必關心令人頭疼的Windows API函數。具體程序如下:

procedure TForm1.Timer1Timer(Sender:TObject);//抓取屏幕,並保存到Image控件中

var

Fullscreen:Tbitmap;

FullscreenCanvas:TCanvas;

dc:HDC;

begin

Fullscreen:=TBitmap.Create; 

//創建一個BITMAP來存放圖象

Fullscreen.Width:=screen.width;

Fullscreen.Height:=screen.Height;

DC:=GetDC(0); //取得屏幕的DC,參數0指的是屏幕

FullscreenCanvas:=TCanvas.Create; 

//創建一個CANVAS對象

FullscreenCanvas.Handle:=DC;

Fullscreen.Canvas.CopyRect(Rect(0,0,screen.Width,screen.Height),

fullscreenCanvas,Rect(0,0,Screen.Width,Screen.Height)); 

//把整個屏幕複製到BITMAP中

FullscreenCanvas.Free; 

//釋放CANVAS對象

ReleaseDC(0,DC); //釋放DC

//*******************************

image1.picture.Bitmap:=fullscreen; //拷貝下的圖象賦給IMAGE對象

image1.Width:=fullscreen.Width;

image1.Height:=fullscreen.Height;

fullscreen.free; //釋放bitmap

form1.WindowState:=wsNormal; //複原窗口狀態

form1.show; //顯示窗口

messagebeep(1); //BEEP叫一聲,報告圖象已經截取好了。

end;

Delphi的屏幕抓圖功能

(2)Delphi的第三方控件ScreenCapture,它是一個很好的免費的截圖控件,可以輕鬆抓取任意大小(全屏當然行)、屏幕的任何位置,還可以設置所截圖像的形狀、以及用何種模式截圖。下麵介紹的是用TcmWindow模式截圖,使用非常簡單,使用效果可以與著名的抓圖軟件SnagIt32媲美。

procedure TForm1.BtnStartClick(Sender:TObject);

begin

ScreenCapture1.start; //開始截圖

end;

//當截取屏幕成功時,此事件發生

procedure TForm1.ScreenCapture1Capture(Sender:TObject;Bitmap:TBitmap);

begin

//調整滾動窗口的大小以適應截獲圖像的大小

Scrollbox1.HorzScrollBar.Range:= Image1.width;

Scrollbox1.VertScrollBar.Range:= Image1.height;

end;

procedure TForm1.FormCreate(Sender:TObject);

begin

//載入entntacp.dll文件

BtnStart.enabled:= ScreenCapture1.dllavailable;

//顯示版本信息

caption:= '屏幕抓圖軟件' + ScreenCapture1.version;

end;

//當沒有足夠的內存支持截取屏幕時,此事件發生

procedure TForm1.ScreenCapture1Error(Sender:TObject);

begin

MessageDlg('屏幕截取時發生一個錯誤!請關閉其他應用程序以獲得更多內存資源.',mtError,[mbOK],0);

end;

//當用戶按“Esc”鍵,即取消屏幕截取時,此事件發生

procedure TForm1.ScreenCapture1UserCancelled(Sender:TObject);

begin

MessageDlg('用戶取消屏幕截取。',mtInformation,[mbOK],0);

end;

運行程序,效果如圖1和圖2所示。

delphi屏幕抓圖效果

圖1運行效果圖

實現抓圖後的效果圖

圖2抓取圖像後的效果圖

結論

通過對以上兩種程序代碼的調試運行,使用第三方控件的方法更易於設計實現,文中的程序代碼全部在Win2000和Delphi7.0環境下調試通過。

軟件特別說明:其實在delphi下載專題你能找到很多適合你的軟件!

相關文章

  • 用DV實現電腦屏幕的錄入

    當我們使用電腦的時候,有時我們不僅需要抓圖,也需要保存屏幕的動態影像,但這是一件很麻煩的事。這時如果...
  • FastStone Capture使用教程

    FastStoneCapture​是一款靈活簡單的屏幕抓圖軟件。它可以抓取某個窗口或者對象的圖片,也...

猜你喜歡

delphi下載專題
delphi下載專題

delphi下載專題

delphi到底是什麼?小編現在也沒整明白,不過聽說delphi7是一個Windows平台下著名的快...[更多]

感謝速聯科技、八度網絡、九九數據、億恩科技、群英網絡讚助部分帶寬!

關於本站 | 聯係方式 | 版權聲明 | 下載幫助(?) | 網站地圖

Copyright 2002-2020 95262.com 【數碼資源網】 版權所有 粵ICP備2020128507號-1

本站所有軟件來自互聯網,版權歸原著所有。如有侵權,敬請來信告知 ,我們將及時撤銷。