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)
- Source:
- Graphics.cs
- Source:
- Graphics.cs
- Source:
- 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 窗体中。 处理窗体的事件Paint,并从Paint事件处理方法调用 CopyPixels1
方法,作为 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)
- Source:
- Graphics.cs
- Source:
- Graphics.cs
- Source:
- 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 窗体中。 处理窗体的事件Paint,并从Paint事件处理方法调用 CopyPixels2
方法,作为 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)
- Source:
- Graphics.cs
- Source:
- Graphics.cs
- Source:
- 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)
- Source:
- Graphics.cs
- Source:
- Graphics.cs
- Source:
- 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 窗体中。 处理窗体的事件Paint,并从Paint事件处理方法调用 CopyPixels4
方法,作为 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
允许指定是否以及如何将源颜色与目标区域中的颜色混合。