PropertyItem PropertyItem PropertyItem PropertyItem Class

定義

メタデータ プロパティがイメージ ファイルに含まれるようにカプセル化します。Encapsulates a metadata property to be included in an image file. 継承はできません。Not inheritable.

public ref class PropertyItem sealed
public sealed class PropertyItem
type PropertyItem = class
Public NotInheritable Class PropertyItem
継承
PropertyItemPropertyItemPropertyItemPropertyItem

次のコード例は、読み取りし、使用してイメージ ファイルにメタデータを表示する方法を示します、PropertyItemクラスおよびImage.PropertyItemsプロパティ。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.

インポートする Windows フォームで使用するこの例の目的は、System.Drawing.Imaging名前空間。This example is designed to be used in a Windows Form that imports the System.Drawing.Imaging namespace. フォームにコードを貼り付けてへのパスを変更fakePhoto.jpgシステム上の画像ファイルを指すようにします。Paste the code into the form and change the path to fakePhoto.jpg to point to an image file on your system. 呼び出す、ExtractMetaDataメソッド、フォームを処理するときにPaint渡すイベントeとしてPaintEventArgsします。Call 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

注釈

データから成る: 識別子、プロパティ、プロパティの型とプロパティ値へのポインターの長さ (単位: バイト)。The data consists of: an identifier, the length (in bytes) of the property, the property type, and a pointer to the property value.

APropertyItemスタンドアロン オブジェクトとして使用するものではありません。A PropertyItem is not intended to be used as a stand-alone object. APropertyItemから派生したクラスで使用するためのオブジェクトはImageします。A PropertyItem object is intended to be used by classes that are derived from Image. APropertyItemを取得し、メタデータを作成しないように、既存のイメージ ファイルのメタデータを変更するオブジェクトを使用します。A PropertyItem object is used to retrieve and to change the metadata of existing image files, not to create the metadata. そのため、PropertyItemクラスは、定義されているがPublicコンス トラクター、およびすることはできませんのインスタンスを作成、PropertyItemオブジェクト。Therefore, the PropertyItem class does not have a defined Public constructor, and you cannot create an instance of a PropertyItem object.

ないことを回避する、Publicコンス トラクターは、既存の使用PropertyItemオブジェクトの新しいインスタンスを作成する代わりに、PropertyItemクラス。To work around the absence of a Public constructor, use an existing PropertyItem object instead of creating a new instance of the PropertyItem class. 詳細については、「Image.GetPropertyItem」を参照してください。For more information, see Image.GetPropertyItem.

プロパティ

Id Id Id Id

プロパティの ID を取得または設定します。Gets or sets the ID of the property.

Len Len Len Len

Value プロパティの長さをバイト数で取得または設定します。Gets or sets the length (in bytes) of the Value property.

Type Type Type Type

Value プロパティに格納されているデータの型を定義する整数を取得または設定します。Gets or sets an integer that defines the type of data contained in the Value property.

Value Value Value Value

プロパティ項目の値を取得または設定します。Gets or sets the value of the property item.

メソッド

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

指定したオブジェクトが、現在のオブジェクトと等しいかどうかを判断します。Determines whether the specified object is equal to the current object.

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

既定のハッシュ関数として機能します。Serves as the default hash function.

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

現在のインスタンスの Type を取得します。Gets the Type of the current instance.

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

現在の Object の簡易コピーを作成します。Creates a shallow copy of the current Object.

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

現在のオブジェクトを表す文字列を返します。Returns a string that represents the current object.

(Inherited from Object)

適用対象

こちらもご覧ください