PropertyItem Kelas
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
Merangkum properti metadata yang akan disertakan dalam file gambar. Tidak bisa diwariskan.
public ref class PropertyItem sealed
public sealed class PropertyItem
type PropertyItem = class
Public NotInheritable Class PropertyItem
- Warisan
-
PropertyItem
Contoh
Contoh kode berikut menunjukkan cara membaca dan menampilkan metadata dalam file gambar menggunakan PropertyItem kelas dan Image.PropertyItems properti .
Contoh ini dirancang untuk digunakan dalam Formulir Windows yang mengimpor System.Drawing.Imaging namespace. Tempelkan kode ke dalam formulir dan ubah jalur ke fakePhoto.jpg
untuk menunjuk ke file gambar di sistem Anda. ExtractMetaData
Panggil metode saat menangani peristiwa formulirPaint, meneruskan e
sebagai 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
Keterangan
Data terdiri dari: pengidentifikasi, panjang (dalam byte) properti, jenis properti, dan penunjuk ke nilai properti.
PropertyItem tidak dimaksudkan untuk digunakan sebagai objek yang berdiri sendiri. Objek PropertyItem dimaksudkan untuk digunakan oleh kelas yang berasal dari Image. Objek PropertyItem digunakan untuk mengambil dan mengubah metadata file gambar yang ada, bukan untuk membuat metadata. Oleh karena itu, PropertyItem kelas tidak memiliki konstruktor yang ditentukan Public
, dan Anda tidak dapat membuat instans PropertyItem objek.
Untuk mengatasi tidak adanya Public
konstruktor, gunakan objek yang ada PropertyItem alih-alih membuat instans PropertyItem baru kelas. Untuk informasi selengkapnya, lihat Image.GetPropertyItem.
Properti
Id |
Mendapatkan atau mengatur ID properti. |
Len |
Mendapatkan atau mengatur panjang (dalam byte) Value properti. |
Type |
Mendapatkan atau mengatur bilangan bulat yang menentukan jenis data yang terkandung dalam Value properti . |
Value |
Mendapatkan atau mengatur nilai item properti. |
Metode
Equals(Object) |
Menentukan apakah objek yang ditentukan sama dengan objek saat ini. (Diperoleh dari Object) |
GetHashCode() |
Berfungsi sebagai fungsi hash default. (Diperoleh dari Object) |
GetType() |
Mendapatkan dari instans Type saat ini. (Diperoleh dari Object) |
MemberwiseClone() |
Membuat salinan dangkal dari saat ini Object. (Diperoleh dari Object) |
ToString() |
Mengembalikan string yang mewakili objek saat ini. (Diperoleh dari Object) |