Cet article a fait l’objet d’une traduction automatique. Pour afficher l’article en anglais, activez la case d’option Anglais. Vous pouvez également afficher le texte anglais dans une fenêtre contextuelle en faisant glisser le pointeur de la souris sur le texte traduit.
Traduction
Anglais

Metafile.PlayRecord, méthode (EmfPlusRecordType, Int32, Int32, Byte[])

 

Lit un enregistrement de métafichier.

Espace de noms:   System.Drawing.Imaging
Assembly:  System.Drawing (dans System.Drawing.dll)

public void PlayRecord(
	EmfPlusRecordType recordType,
	int flags,
	int dataSize,
	byte[] data
)

Paramètres

recordType

Élément de EmfPlusRecordType qui spécifie le type d'enregistrement de métafichier en cours de lecture.

flags

Ensemble d'indicateurs qui spécifie des attributs de l'enregistrement.

dataSize

Nombre d'octets dans les données de l'enregistrement.

data

Tableau d'octets qui contient les données de l'enregistrement.

L'exemple de code suivant illustre l'utilisation de la méthode PlayRecord.


using System;
using System.Drawing;
using System.Drawing.Imaging;
using System.Windows.Forms;

// for Marshal.Copy
using System.Runtime.InteropServices; 

public class Form1 : Form
{
    private Metafile metafile1;
    private Graphics.EnumerateMetafileProc metafileDelegate;
    private Point destPoint;
    public Form1()
    {
        metafile1 = new Metafile(@"C:\Test.wmf");
        metafileDelegate = new Graphics.EnumerateMetafileProc(MetafileCallback);
        destPoint = new Point(20, 10);
    }
    protected override void OnPaint(PaintEventArgs e)
    {
        e.Graphics.EnumerateMetafile(metafile1, destPoint, metafileDelegate);
    }
    private bool MetafileCallback(
       EmfPlusRecordType recordType,
       int flags,
       int dataSize,
       IntPtr data,
       PlayRecordCallback callbackData)
    {
        byte[] dataArray = null;
        if (data != IntPtr.Zero)
        {
            // Copy the unmanaged record to a managed byte buffer 
            // that can be used by PlayRecord.
            dataArray = new byte[dataSize];
            Marshal.Copy(data, dataArray, 0, dataSize);
        }

        metafile1.PlayRecord(recordType, flags, dataSize, dataArray);

        return true;
    }

    static void Main()
    {
        Application.Run(new Form1());
    }
}

.NET Framework
Disponible depuis 1.1
Retour au début
Afficher: