Image.SetPropertyItem 方法
在此 Image 中存储一个属性项(元数据片)。
**命名空间:**System.Drawing
**程序集:**System.Drawing(在 system.drawing.dll 中)
语法
声明
Public Sub SetPropertyItem ( _
propitem As PropertyItem _
)
用法
Dim instance As Image
Dim propitem As PropertyItem
instance.SetPropertyItem(propitem)
public void SetPropertyItem (
PropertyItem propitem
)
public:
void SetPropertyItem (
PropertyItem^ propitem
)
public void SetPropertyItem (
PropertyItem propitem
)
public function SetPropertyItem (
propitem : PropertyItem
)
参数
- propitem
要存储的 PropertyItem。
返回值
此方法不返回值。
异常
异常类型 | 条件 |
---|---|
该图像的图像格式不支持属性项。 |
备注
如果图像格式不支持属性项,则该方法将引发 ArgumentException,同时产生“不支持该属性”这一消息。如果图像格式支持属性项但不支持您正在尝试设置的特定属性,则此方法将忽略此尝试但不会引发异常。
因为 PropertyItem 类没有公共构造函数,所以很难设置属性项。一种可以摆脱此限制的方法是设法获得 PropertyItem,具体方法是通过检索 PropertyItems 属性值,或者通过调用一个已经具有属性项的 Image 的 GetPropertyItem 方法。然后就可以设置 PropertyItem 的字段,并将其传递给 SetPropertyItem。
示例
下面的代码示例演示如何使用 GetPropertyItem 和 SetPropertyItem 方法。此示例是针对使用 Windows 窗体而设计的。若要运行此示例,请将其粘贴到一个窗体中,然后通过调用 DemonstratePropertyItem
方法处理该窗体的 Paint 事件,并将 e 作为 PaintEventArgs 传递。
Private Sub DemonstratePropertyItem(ByVal e As PaintEventArgs)
' Create two images.
Dim image1 As Image = Image.FromFile("c:\FakePhoto1.jpg")
Dim image2 As Image = Image.FromFile("c:\FakePhoto2.jpg")
' Get a PropertyItem from image1.
Dim propItem As PropertyItem = image1.GetPropertyItem(20624)
' Change the ID of the PropertyItem.
propItem.Id = 20625
' Set the PropertyItem for image2.
image2.SetPropertyItem(propItem)
' Draw the image.
e.Graphics.DrawImage(image2, 20.0F, 20.0F)
End Sub
private void DemonstratePropertyItem(PaintEventArgs e)
{
// Create two images.
Image image1 = Image.FromFile("c:\\FakePhoto1.jpg");
Image image2 = Image.FromFile("c:\\FakePhoto2.jpg");
// Get a PropertyItem from image1.
PropertyItem propItem = image1.GetPropertyItem(20624);
// Change the ID of the PropertyItem.
propItem.Id = 20625;
// Set the PropertyItem for image2.
image2.SetPropertyItem(propItem);
// Draw the image.
e.Graphics.DrawImage(image2, 20.0F, 20.0F);
}
private:
void DemonstratePropertyItem( PaintEventArgs^ e )
{
// Create two images.
Image^ image1 = Image::FromFile( "c:\\FakePhoto1.jpg" );
Image^ image2 = Image::FromFile( "c:\\FakePhoto2.jpg" );
// Get a PropertyItem from image1.
PropertyItem^ propItem = image1->GetPropertyItem( 20624 );
// Change the ID of the PropertyItem.
propItem->Id = 20625;
// Set the PropertyItem for image2.
image2->SetPropertyItem( propItem );
// Draw the image.
e->Graphics->DrawImage( image2, 20.0F, 20.0F );
}
private void DemonstratePropertyItem(PaintEventArgs e)
{
// Create two images.
Image image1 = Image.FromFile("c:\\FakePhoto1.jpg");
Image image2 = Image.FromFile("c:\\FakePhoto2.jpg");
// Get a PropertyItem from image1.
PropertyItem propItem = image1.GetPropertyItem(20624);
// Change the ID of the PropertyItem.
propItem.set_Id(20625);
// Set the PropertyItem for image2.
image2.SetPropertyItem(propItem);
// Draw the image.
e.get_Graphics().DrawImage(image2, 20, 20);
} //DemonstratePropertyItem
平台
Windows 98、Windows 2000 SP4、Windows Millennium Edition、Windows Server 2003、Windows XP Media Center Edition、Windows XP Professional x64 Edition、Windows XP SP2、Windows XP Starter Edition
.NET Framework 并不是对每个平台的所有版本都提供支持。有关受支持版本的列表,请参见系统要求。
版本信息
.NET Framework
受以下版本支持:2.0、1.1、1.0