PropertyItem PropertyItem PropertyItem PropertyItem Class

Definición

Encapsula una propiedad de metadatos que debe incluirse en un archivo de imagen.Encapsulates a metadata property to be included in an image file. No puede heredarse.Not inheritable.

public ref class PropertyItem sealed
public sealed class PropertyItem
type PropertyItem = class
Public NotInheritable Class PropertyItem
Herencia
PropertyItemPropertyItemPropertyItemPropertyItem

Ejemplos

En el ejemplo de código siguiente se muestra cómo leer y mostrar los metadatos en un archivo PropertyItem de imagen mediante Image.PropertyItems la clase y la propiedad.The following code example demonstrates how to read and display the metadata in an image file using the PropertyItem class and the Image.PropertyItems property.

Este ejemplo está diseñado para usarse en un Windows Form que importa el System.Drawing.Imaging espacio de nombres.This example is designed to be used in a Windows Form that imports the System.Drawing.Imaging namespace. Pegue el código en el formulario y cambie la ruta de fakePhoto.jpg acceso a para que apunte a un archivo de imagen en el sistema.Paste the code into the form and change the path to fakePhoto.jpg to point to an image file on your system. Llame al Paint e PaintEventArgsmétodo al controlar el evento del formulario, pasando como. ExtractMetaDataCall the ExtractMetaData method when handling the form's Paint event, passing e as PaintEventArgs.

private:
   void ExtractMetaData( PaintEventArgs^ e )
   {
      try
      {
         
         // Create an Image object. 
         Image^ theImage = gcnew Bitmap( "c:\\fakePhoto.jpg" );
         
         // Get the PropertyItems property from image.
         array<PropertyItem^>^propItems = theImage->PropertyItems;
         
         // Set up the display.
         System::Drawing::Font^ font1 = gcnew System::Drawing::Font( "Arial",10 );
         SolidBrush^ blackBrush = gcnew SolidBrush( Color::Black );
         int X = 0;
         int Y = 0;
         
         // For each PropertyItem in the array, display the id, 
         // type, and length.
         int count = 0;
         System::Collections::IEnumerator^ myEnum = propItems->GetEnumerator();
         while ( myEnum->MoveNext() )
         {
            PropertyItem^ propItem = safe_cast<PropertyItem^>(myEnum->Current);
            e->Graphics->DrawString( String::Format( "Property Item {0}", count ), font1, blackBrush, (float)X, (float)Y );
            Y += font1->Height;
            e->Graphics->DrawString( String::Format( "   ID: 0x{0}", propItem->Id.ToString( "x" ) ), font1, blackBrush, (float)X, (float)Y );
            Y += font1->Height;
            e->Graphics->DrawString( String::Format( "   type: {0}", propItem->Type ), font1, blackBrush, (float)X, (float)Y );
            Y += font1->Height;
            e->Graphics->DrawString( String::Format( "   length: {0} bytes", propItem->Len ), font1, blackBrush, (float)X, (float)Y );
            Y += font1->Height;
            count += 1;
         }
         delete font1;
      }
      catch ( Exception^ ) 
      {
         MessageBox::Show( "There was an error."
         "Make sure the path to the image file is valid." );
      }

   }
private void ExtractMetaData(PaintEventArgs e)
{
    try
    {
        // Create an Image object. 
        Image theImage = new Bitmap("c:\\fakePhoto.jpg");

        // Get the PropertyItems property from image.
        PropertyItem[] propItems = theImage.PropertyItems;

        // Set up the display.
        Font font1 = new Font("Arial", 10);
        SolidBrush blackBrush = new SolidBrush(Color.Black);
        int X = 0;
        int Y = 0;

        // For each PropertyItem in the array, display the id, 
        // type, and length.
        int count = 0;
        foreach ( PropertyItem propItem in propItems )
        {
            e.Graphics.DrawString("Property Item " + 
                count.ToString(), font1, blackBrush, X, Y);
            Y += font1.Height;

            e.Graphics.DrawString("   ID: 0x" + 
                propItem.Id.ToString("x"), font1, blackBrush, X, Y);
            Y += font1.Height;

            e.Graphics.DrawString("   type: " +
                propItem.Type.ToString(), font1, blackBrush, X, Y);
            Y += font1.Height;

            e.Graphics.DrawString("   length: " + 
                propItem.Len.ToString() + 
                " bytes", font1, blackBrush, X, Y);
            Y += font1.Height;
            count += 1;
        }
        font1.Dispose();
    }
    catch(Exception)
    {
        MessageBox.Show("There was an error." + 
            "Make sure the path to the image file is valid.");
    }

}
Private Sub ExtractMetaData(ByVal e As PaintEventArgs)

    Try
        'Create an Image object. 
        Dim theImage As Image = New Bitmap("c:\fakePhoto.jpg")

        'Get the PropertyItems property from image.
        Dim propItems As PropertyItem() = theImage.PropertyItems

        'Set up the display.
        Dim font As New font("Arial", 10)
        Dim blackBrush As New SolidBrush(Color.Black)
        Dim X As Integer = 0
        Dim Y As Integer = 0

        'For each PropertyItem in the array, display the id, type, and length.
        Dim count As Integer = 0
        Dim propItem As PropertyItem
        For Each propItem In propItems

            e.Graphics.DrawString("Property Item " + count.ToString(), _
               font, blackBrush, X, Y)
            Y += font.Height

            e.Graphics.DrawString("   iD: 0x" & propItem.Id.ToString("x"), _
               font, blackBrush, X, Y)
            Y += font.Height

            e.Graphics.DrawString("   type: " & propItem.Type.ToString(), _
               font, blackBrush, X, Y)
            Y += font.Height

            e.Graphics.DrawString("   length: " & propItem.Len.ToString() & _
                " bytes", font, blackBrush, X, Y)
            Y += font.Height

            count += 1
        Next propItem

        font.Dispose()
    Catch ex As ArgumentException
        MessageBox.Show("There was an error. Make sure the path to the image file is valid.")
    End Try

End Sub

Comentarios

Los datos constan de: un identificador, la longitud (en bytes) de la propiedad, el tipo de propiedad y un puntero al valor de propiedad.The data consists of: an identifier, the length (in bytes) of the property, the property type, and a pointer to the property value.

No PropertyItem está pensado para usarse como un objeto independiente.A PropertyItem is not intended to be used as a stand-alone object. Un PropertyItem objeto está diseñado para ser utilizado por las clases que se derivan de Image.A PropertyItem object is intended to be used by classes that are derived from Image. Un PropertyItem objeto se utiliza para recuperar y cambiar los metadatos de los archivos de imagen existentes, no para crear los metadatos.A PropertyItem object is used to retrieve and to change the metadata of existing image files, not to create the metadata. Por lo tanto PropertyItem , la clase no tiene un Public constructor definido y no se puede crear una instancia de PropertyItem un objeto.Therefore, the PropertyItem class does not have a defined Public constructor, and you cannot create an instance of a PropertyItem object.

Para evitar la ausencia de un Public constructor, utilice un objeto existente PropertyItem en lugar de crear una nueva instancia de la PropertyItem clase.To work around the absence of a Public constructor, use an existing PropertyItem object instead of creating a new instance of the PropertyItem class. Para obtener más información, vea Image.GetPropertyItem.For more information, see Image.GetPropertyItem.

Propiedades

Id Id Id Id

Obtiene o establece el identificador de la propiedad.Gets or sets the ID of the property.

Len Len Len Len

Obtiene o establece la longitud, en bytes, de la propiedad Value.Gets or sets the length (in bytes) of the Value property.

Type Type Type Type

Obtiene o establece un entero que define el tipo de datos contenidos en la propiedad Value.Gets or sets an integer that defines the type of data contained in the Value property.

Value Value Value Value

Obtiene o establece el valor del elemento de la propiedad.Gets or sets the value of the property item.

Métodos

Equals(Object) Equals(Object) Equals(Object) Equals(Object)

Determina si el objeto especificado es igual al objeto actual.Determines whether the specified object is equal to the current object.

(Inherited from Object)
GetHashCode() GetHashCode() GetHashCode() GetHashCode()

Sirve como la función hash predeterminada.Serves as the default hash function.

(Inherited from Object)
GetType() GetType() GetType() GetType()

Obtiene el Type de la instancia actual.Gets the Type of the current instance.

(Inherited from Object)
MemberwiseClone() MemberwiseClone() MemberwiseClone() MemberwiseClone()

Crea una copia superficial del objeto Object actual.Creates a shallow copy of the current Object.

(Inherited from Object)
ToString() ToString() ToString() ToString()

Devuelve una cadena que representa el objeto actual.Returns a string that represents the current object.

(Inherited from Object)

Se aplica a

Consulte también: