Graphics.CopyFromScreen 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
執行從畫面到 Graphics 之繪圖介面的色彩資料位元區塊傳輸。
多載
CopyFromScreen(Point, Point, Size) |
執行從畫面到 Graphics 之繪圖介面的色彩資料位元區塊傳輸,與像素矩形相對應。 |
CopyFromScreen(Point, Point, Size, CopyPixelOperation) |
執行從畫面到 Graphics 之繪圖介面的色彩資料位元區塊傳輸,與像素矩形相對應。 |
CopyFromScreen(Int32, Int32, Int32, Int32, Size) |
執行從畫面到 Graphics 之繪圖介面的色彩資料位元區塊傳輸,與像素矩形相對應。 |
CopyFromScreen(Int32, Int32, Int32, Int32, Size, CopyPixelOperation) |
執行從畫面到 Graphics 之繪圖介面的色彩資料位元區塊傳輸,與像素矩形相對應。 |
CopyFromScreen(Point, Point, Size)
- 來源:
- Graphics.cs
- 來源:
- Graphics.cs
- 來源:
- Graphics.cs
執行從畫面到 Graphics 之繪圖介面的色彩資料位元區塊傳輸,與像素矩形相對應。
public:
void CopyFromScreen(System::Drawing::Point upperLeftSource, System::Drawing::Point upperLeftDestination, System::Drawing::Size blockRegionSize);
public void CopyFromScreen (System.Drawing.Point upperLeftSource, System.Drawing.Point upperLeftDestination, System.Drawing.Size blockRegionSize);
member this.CopyFromScreen : System.Drawing.Point * System.Drawing.Point * System.Drawing.Size -> unit
Public Sub CopyFromScreen (upperLeftSource As Point, upperLeftDestination As Point, blockRegionSize As Size)
參數
- upperLeftSource
- Point
來源矩形左上角的點。
- upperLeftDestination
- Point
目的矩形左上角的點。
- blockRegionSize
- Size
要傳輸的區域大小。
例外狀況
作業失敗。
範例
下列範例示範如何使用 CopyFromScreen 方法。 若要執行此範例,請將它貼到 Windows Form 中。 處理表單的事件 Paint ,並從事件處理方法呼叫 CopyPixels1
方法 Paint ,並 e
傳遞為 PaintEventArgs。
private void CopyPixels1(PaintEventArgs e)
{
e.Graphics.CopyFromScreen(this.Location,
new Point(40, 40), new Size(100, 100));
}
Private Sub CopyPixels1(ByVal e As PaintEventArgs)
e.Graphics.CopyFromScreen(Me.Location, _
New Point(40, 40), New Size(100, 100))
End Sub
備註
方法 CopyFromScreen 適用於將一個影像分層到另一個影像。 若要指定來源和目的地色彩的混合方式,請使用採用 參數的其中 CopyFromScreen 一種方法 CopyPixelOperation 。
另請參閱
適用於
CopyFromScreen(Point, Point, Size, CopyPixelOperation)
- 來源:
- Graphics.cs
- 來源:
- Graphics.cs
- 來源:
- Graphics.cs
執行從畫面到 Graphics 之繪圖介面的色彩資料位元區塊傳輸,與像素矩形相對應。
public:
void CopyFromScreen(System::Drawing::Point upperLeftSource, System::Drawing::Point upperLeftDestination, System::Drawing::Size blockRegionSize, System::Drawing::CopyPixelOperation copyPixelOperation);
public void CopyFromScreen (System.Drawing.Point upperLeftSource, System.Drawing.Point upperLeftDestination, System.Drawing.Size blockRegionSize, System.Drawing.CopyPixelOperation copyPixelOperation);
member this.CopyFromScreen : System.Drawing.Point * System.Drawing.Point * System.Drawing.Size * System.Drawing.CopyPixelOperation -> unit
Public Sub CopyFromScreen (upperLeftSource As Point, upperLeftDestination As Point, blockRegionSize As Size, copyPixelOperation As CopyPixelOperation)
參數
- upperLeftSource
- Point
來源矩形左上角的點。
- upperLeftDestination
- Point
目的矩形左上角的點。
- blockRegionSize
- Size
要傳輸的區域大小。
- copyPixelOperation
- CopyPixelOperation
其中一個 CopyPixelOperation 值。
例外狀況
copyPixelOperation
不是 CopyPixelOperation 的成員。
作業失敗。
範例
下列範例示範如何使用 CopyFromScreen 方法。 若要執行此範例,請將它貼到 Windows Form 中。 處理表單的事件 Paint ,並從事件處理方法呼叫 CopyPixels2
方法 Paint ,並 e
傳遞為 PaintEventArgs。
private void CopyPixels2(PaintEventArgs e)
{
e.Graphics.CopyFromScreen(this.Location, new Point(40, 40),
new Size(100, 100), CopyPixelOperation.MergePaint);
}
Private Sub CopyPixels2(ByVal e As PaintEventArgs)
e.Graphics.CopyFromScreen(Me.Location, _
New Point(40, 40), New Size(100, 100), _
CopyPixelOperation.MergePaint)
End Sub
備註
方法 CopyFromScreen 適用於將一個影像分層到另一個影像。 參數 copyPixelOperation
可讓您指定來源色彩應該如何與目的地區域中的色彩混合。
另請參閱
適用於
CopyFromScreen(Int32, Int32, Int32, Int32, Size)
- 來源:
- Graphics.cs
- 來源:
- Graphics.cs
- 來源:
- Graphics.cs
執行從畫面到 Graphics 之繪圖介面的色彩資料位元區塊傳輸,與像素矩形相對應。
public:
void CopyFromScreen(int sourceX, int sourceY, int destinationX, int destinationY, System::Drawing::Size blockRegionSize);
public void CopyFromScreen (int sourceX, int sourceY, int destinationX, int destinationY, System.Drawing.Size blockRegionSize);
member this.CopyFromScreen : int * int * int * int * System.Drawing.Size -> unit
Public Sub CopyFromScreen (sourceX As Integer, sourceY As Integer, destinationX As Integer, destinationY As Integer, blockRegionSize As Size)
參數
- sourceX
- Int32
來源矩形左上角之點的 X 座標。
- sourceY
- Int32
來源矩形左上角之點的 Y 座標。
- destinationX
- Int32
目的矩形左上角之點的 X 座標。
- destinationY
- Int32
目的矩形左上角之點的 Y 座標。
- blockRegionSize
- Size
要傳輸的區域大小。
例外狀況
作業失敗。
範例
下列程式代碼範例示範如何使用 CopyFromScreen 來列印目前窗體的複本。
using System;
using System.Windows.Forms;
using System.Drawing;
using System.Drawing.Printing;
public class Form1 :
Form
{
private Button printButton = new Button();
private PrintDocument printDocument1 = new PrintDocument();
public Form1()
{
printButton.Text = "Print Form";
printButton.Click += new EventHandler(printButton_Click);
printDocument1.PrintPage += new PrintPageEventHandler(printDocument1_PrintPage);
this.Controls.Add(printButton);
}
void printButton_Click(object sender, EventArgs e)
{
CaptureScreen();
printDocument1.Print();
}
Bitmap memoryImage;
private void CaptureScreen()
{
Graphics myGraphics = this.CreateGraphics();
Size s = this.Size;
memoryImage = new Bitmap(s.Width, s.Height, myGraphics);
Graphics memoryGraphics = Graphics.FromImage(memoryImage);
memoryGraphics.CopyFromScreen(this.Location.X, this.Location.Y, 0, 0, s);
}
private void printDocument1_PrintPage(System.Object sender,
System.Drawing.Printing.PrintPageEventArgs e)
{
e.Graphics.DrawImage(memoryImage, 0, 0);
}
public static void Main()
{
Application.Run(new Form1());
}
}
Imports System.Windows.Forms
Imports System.Drawing
Imports System.Drawing.Printing
Public Class Form1
Inherits Form
Private WithEvents printButton As New Button
Private WithEvents printDocument1 As New PrintDocument
Public Sub New()
printButton.Text = "Print Form"
Me.Controls.Add(printButton)
End Sub
Dim memoryImage As Bitmap
Private Sub CaptureScreen()
Dim myGraphics As Graphics = Me.CreateGraphics()
Dim s As Size = Me.Size
memoryImage = New Bitmap(s.Width, s.Height, myGraphics)
Dim memoryGraphics As Graphics = Graphics.FromImage(memoryImage)
memoryGraphics.CopyFromScreen(Me.Location.X, Me.Location.Y, 0, 0, s)
End Sub
Private Sub printDocument1_PrintPage(ByVal sender As System.Object, _
ByVal e As System.Drawing.Printing.PrintPageEventArgs) Handles _
printDocument1.PrintPage
e.Graphics.DrawImage(memoryImage, 0, 0)
End Sub
Private Sub printButton_Click(ByVal sender As System.Object, ByVal e As _
System.EventArgs) Handles printButton.Click
CaptureScreen()
printDocument1.Print()
End Sub
Public Shared Sub Main()
Application.Run(New Form1())
End Sub
End Class
備註
方法 CopyFromScreen 適用於將一個影像分層到另一個影像。 若要指定來源和目的地色彩的混合方式,請使用採用 參數的其中 CopyFromScreen 一種方法 CopyPixelOperation 。
另請參閱
適用於
CopyFromScreen(Int32, Int32, Int32, Int32, Size, CopyPixelOperation)
- 來源:
- Graphics.cs
- 來源:
- Graphics.cs
- 來源:
- Graphics.cs
執行從畫面到 Graphics 之繪圖介面的色彩資料位元區塊傳輸,與像素矩形相對應。
public:
void CopyFromScreen(int sourceX, int sourceY, int destinationX, int destinationY, System::Drawing::Size blockRegionSize, System::Drawing::CopyPixelOperation copyPixelOperation);
public void CopyFromScreen (int sourceX, int sourceY, int destinationX, int destinationY, System.Drawing.Size blockRegionSize, System.Drawing.CopyPixelOperation copyPixelOperation);
member this.CopyFromScreen : int * int * int * int * System.Drawing.Size * System.Drawing.CopyPixelOperation -> unit
Public Sub CopyFromScreen (sourceX As Integer, sourceY As Integer, destinationX As Integer, destinationY As Integer, blockRegionSize As Size, copyPixelOperation As CopyPixelOperation)
參數
- sourceX
- Int32
來源矩形左上角之點的 X 座標。
- sourceY
- Int32
來源矩形左上角之點的 Y 座標。
- destinationX
- Int32
目的矩形左上角之點的 X 座標。
- destinationY
- Int32
目的矩形左上角之點的 Y 座標。
- blockRegionSize
- Size
要傳輸的區域大小。
- copyPixelOperation
- CopyPixelOperation
其中一個 CopyPixelOperation 值。
例外狀況
copyPixelOperation
不是 CopyPixelOperation 的成員。
作業失敗。
範例
下列範例示範如何使用 CopyFromScreen 方法。 若要執行此範例,請將它貼到 Windows Form 中。 處理表單的事件 Paint ,並從事件處理方法呼叫 CopyPixels4
方法 Paint ,並 e
傳遞為 PaintEventArgs。
private void CopyPixels4(PaintEventArgs e)
{
e.Graphics.CopyFromScreen(0, 0, 20, 20, new Size(160, 160),
CopyPixelOperation.SourceInvert);
}
Private Sub CopyPixels4(ByVal e As PaintEventArgs)
e.Graphics.CopyFromScreen(0, 0, 20, 20, _
New Size(160, 160), CopyPixelOperation.SourceInvert)
End Sub
備註
方法 CopyFromScreen 適用於將一個影像分層到另一個影像。 參數 copyPixelOperation
可讓您指定來源色彩應該如何與目的地區域中的色彩混合。