標籤:bitmap c# 全屏
自訂一個函數,
public static void Snap(int x, int y, int width, int height)
{
try
{
//這段代碼也可以實現
//Image image = new Bitmap(width, height);
//Graphics g = Graphics.FromImage(image);
//g.CopyFromScreen(x, y, 0, 0, new System.Drawing.Size(width, height));
//string hour = DateTime.Now.Minute.ToString();
//string second = DateTime.Now.Second.ToString();
//image.Save(ScreenshotPath + "\\" + hour + "_" + second + ".jpg");
Bitmap image = new Bitmap(GetSystemMetrics(0), GetSystemMetrics(1));
using (Graphics g = Graphics.FromImage(image))
{
g.CopyFromScreen(0, 0, 0, 0, image.Size);
g.Dispose();
string hour = DateTime.Now.Minute.ToString();
string second = DateTime.Now.Second.ToString();
image.Save(“C:” + "\\" + hour + "_" + second + ".jpg");
}
}
catch
{
}
}
然後在一個timerSrc_Tick 中調用自訂的函數,然後就會定時,儲存到指定檔案夾
private void timerSrc_Tick(object sender, EventArgs e)
{
Help.Snap(0, 0, Screen.PrimaryScreen.Bounds.Width, Screen.PrimaryScreen.Bounds.Height);
}
但是運行了這段代碼之後細心的人可能發現可以實現,但是有一些軟體開啟之後是截不到的,比如你開啟一個QQ登陸視窗,但是你發現中並沒有QQ的登陸視窗,這個問題也是我寫完之後無意間發現的問題,但是由於本人也是個菜鳥,所以如果要求不高的你可以參考,但是如果你需要截下螢幕上所有的圖,你可以在這個代碼的基礎上在研究一下,順便也給我一份代碼,也學習一下,大家一起學習。希望會對大家有協助
C#實現定時全屏並且儲存到預先設定好的檔案夾中的程式碼範例