Image.PropertyItems プロパティ
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
この Image に格納されたすべてのプロパティ項目 (メタデータの一部) を取得します。
public:
property cli::array <System::Drawing::Imaging::PropertyItem ^> ^ PropertyItems { cli::array <System::Drawing::Imaging::PropertyItem ^> ^ get(); };
[System.ComponentModel.Browsable(false)]
public System.Drawing.Imaging.PropertyItem[] PropertyItems { get; }
[<System.ComponentModel.Browsable(false)>]
member this.PropertyItems : System.Drawing.Imaging.PropertyItem[]
Public ReadOnly Property PropertyItems As PropertyItem()
プロパティ値
このイメージに格納された各プロパティ項目に対して 1 つずつ存在する PropertyItem の配列。
- 属性
例
次のコード例では、 クラスと プロパティを使用して System.Drawing.Imaging.PropertyItem 、画像ファイル内のメタデータを読み取って表示する方法を PropertyItems 示します。
この例は、名前空間をインポート System.Drawing.Imaging する Windows フォームを使用するように設計されています。 コードをフォームに貼り付け、パスを に fakePhoto.jpg
変更して、システム上のイメージ ファイルをポイントします。 フォームPaintのイベントをExtractMetaData
処理するときに メソッドを呼び出し、 を としてPaintEventArgs渡しますe
。
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
注釈
イメージにプロパティ項目がない場合、またはイメージ形式でプロパティ項目がサポートされていない場合は、 PropertyItems 空の配列 (長さ 0 の配列) を返します。
適用対象
こちらもご覧ください
GitHub で Microsoft と共同作業する
このコンテンツのソースは GitHub にあります。そこで、issue や pull request を作成および確認することもできます。 詳細については、共同作成者ガイドを参照してください。
.NET