2

我正在尝试解决更改 Bitmap 对象的 ImageDescription 值的问题。为文件添加描述。搜索相关主题,我没有找到解决方案。

我的代码:

public Bitmap ImageWithComment(Bitmap image)
{
   string filePath = @"C:\1.jpg";
   var data = Encoding.UTF8.GetBytes("my comment"); 
   var propItem = image.PropertyItems.FirstOrDefault();
   propItem.Type = 2;
   propItem.Id = 40092;
   propItem.Len = data.Length;
   propItem.Value = data;
   image.SetPropertyItem(propItem);
   image.Save(filePath);
   return image;
}

但是带有新评论的图像不会保存在文件夹中((请帮帮我

4

2 回答 2

5

根据MSDN - Property Tags,您必须使用正确的 int 值Id

样本

 using (var image = new Bitmap(@"C:\Desert.jpg"))
            {
                string filePath = @"C:\Desertcopy.jpg";
                var data = Encoding.UTF8.GetBytes("my comment");
                var propItem = image.PropertyItems.FirstOrDefault();
                propItem.Type = 2;
                propItem.Id = 0x010E; // <-- Image Description
                propItem.Len = data.Length;
                propItem.Value = data;
                image.SetPropertyItem(propItem);
                image.Save(filePath);
            }

使用 MSDN 中的以下号码

图片描述码

运行代码后,您可以看到它如何影响图像

原来的

编辑后

于 2013-03-05T18:39:52.150 回答
1

ID 40092 转换为 0x9C9C。据此,不是有效的属性项 ID。据此,_

如果图像格式支持属性项但不支持您尝试设置的特定属性,则此方法会忽略该尝试但不会引发异常。

从外观上看,您希望您的 ID 为 0x010E。此外,有关每个属性项 ID 的详细信息,请参见此处

于 2013-03-05T18:37:07.443 回答