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 の描画サーフェイスへの、ピクセルの四角形に対応する色データのビット ブロック転送を実行します。 |
- ソース:
- 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 フォームに貼り付けます。 フォームPaintのイベントを処理し、イベント処理メソッドから メソッドをCopyPixels1
Paint呼び出し、 を としてPaintEventArgs渡しますe
。
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 、1 つの画像を別のイメージの上に重ねて配置する場合に便利です。 ソースとコピー先の色をブレンドする方法を指定するには、 パラメーターを CopyFromScreen 受け取る 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 値のいずれか 1 つ。
例外
copyPixelOperation
が CopyPixelOperation のメンバーではありません。
操作が失敗しました。
例
CopyFromScreen メソッドの使用方法を次の例に示します。 この例を実行するには、Windows フォームに貼り付けます。 フォームPaintのイベントを処理し、イベント処理メソッドから メソッドをCopyPixels2
Paint呼び出し、 を としてPaintEventArgs渡しますe
。
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 、1 つの画像を別のイメージの上に重ねて配置する場合に便利です。 copyPixelOperation
パラメーターを使用すると、変換元の色を変換先領域の色とブレンドする必要があるかどうかを指定できます。
こちらもご覧ください
適用対象
- ソース:
- 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 、1 つの画像を別のイメージの上に重ねて配置する場合に便利です。 ソースとコピー先の色をブレンドする方法を指定するには、 パラメーターを CopyFromScreen 受け取る 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 値のいずれか 1 つ。
例外
copyPixelOperation
が CopyPixelOperation のメンバーではありません。
操作が失敗しました。
例
CopyFromScreen メソッドの使用方法を次の例に示します。 この例を実行するには、Windows フォームに貼り付けます。 フォームPaintのイベントを処理し、イベント処理メソッドから メソッドをCopyPixels4
Paint呼び出し、 を としてPaintEventArgs渡しますe
。
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 、1 つの画像を別のイメージの上に重ねて配置する場合に便利です。 copyPixelOperation
パラメーターを使用すると、変換元の色を変換先領域の色とブレンドする必要があるかどうかを指定できます。
こちらもご覧ください
適用対象
.NET に関するフィードバック
.NET はオープンソース プロジェクトです。 フィードバックを提供するにはリンクを選択します。