Questo articolo è stato tradotto automaticamente. Per visualizzare l'articolo in inglese, selezionare la casella di controllo Inglese. È possibile anche visualizzare il testo inglese in una finestra popup posizionando il puntatore del mouse sopra il testo.
Traduzione
Inglese

Metodo Graphics.CopyFromScreen (Int32, Int32, Int32, Int32, Size)

 

Data di pubblicazione: ottobre 2016

Esegue un trasferimento a blocchi di bit dei dati relativi al colore, corrispondente a un rettangolo di pixel, dalla schermata alla superficie di disegno dell'oggetto Graphics.

Spazio dei nomi:   System.Drawing
Assembly:  System.Drawing (in System.Drawing.dll)

public void CopyFromScreen(
	int sourceX,
	int sourceY,
	int destinationX,
	int destinationY,
	Size blockRegionSize
)

Parametri

sourceX
Type: System.Int32

Coordinata X del punto nell'angolo superiore sinistro del rettangolo di origine.

sourceY
Type: System.Int32

Coordinata Y del punto nell'angolo superiore sinistro del rettangolo di origine.

destinationX
Type: System.Int32

Coordinata X del punto nell'angolo superiore sinistro del rettangolo di destinazione.

destinationY
Type: System.Int32

Coordinata Y del punto nell'angolo superiore sinistro del rettangolo di destinazione.

blockRegionSize
Type: System.Drawing.Size

Dimensioni dell'area da trasferire.

Exception Condition
Win32Exception

Operazione non riuscita.

The M:System.Drawing.Graphics.CopyFromScreen(System.Drawing.Point,System.Drawing.Point,System.Drawing.Size) methods are useful for layering one image on top of another. To specify how the source and destination colors are blended, use one of the M:System.Drawing.Graphics.CopyFromScreen(System.Int32,System.Int32,System.Int32,System.Int32,System.Drawing.Size) methods that takes a T:System.Drawing.CopyPixelOperation parameter.

The following code example demonstrates how to use the M:System.Drawing.Graphics.CopyFromScreen(System.Drawing.Point,System.Drawing.Point,System.Drawing.Size) for printing a copy of the current form.


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());
    }
}

UIPermission

for access to all windows. Related enumeration: F:System.Security.Permissions.UIPermissionWindow.AllWindows.

.NET Framework
Disponibile da 2.0
Torna all'inizio
Mostra: