使用medata数据wpf c#将位图保存为png [重复]
Posted
技术标签:
【中文标题】使用medata数据wpf c#将位图保存为png [重复]【英文标题】:Save bitmap to png with medata data wpf c# [duplicate] 【发布时间】:2021-04-06 14:51:26 【问题描述】:我需要使用 wpf c# 中的版权等 medata 将位图保存为 jpg。
var handle = BitmapImage2Bitmap(currentimage).GetHbitmap();
System.Drawing.Image img = System.Drawing.Image.FromHbitmap(handle);
System.Drawing.Imaging.PropertyItem prop = img.PropertyItems[0];
SetProperty(ref prop, 33432, "Copyright");
img.SetPropertyItem(prop);
img.Save(@"C:\images\test.jpg");
我已经尝试使用上面的代码,但它说索引超出了数组区域。
【问题讨论】:
以后请先阅读文档System.Drawing.Image
是 WinForms,而不是 WPF。
【参考方案1】:
var prop = img.GetPropertyItem(0x503B);
prop.Value = Encoding.Ascii.GetBytes("copyright name");
prop.Len = prop.Value.Length;
img.SetPropertyItem(prop);
值 0x503B 来自这里: PropertyItem.Id Property
【讨论】:
以上是关于使用medata数据wpf c#将位图保存为png [重复]的主要内容,如果未能解决你的问题,请参考以下文章
将 WPF 画布保存到文件而不损失质量(不使用位图作为中介)
位图保存 jpeg 失败但 png 可以,因为 comments 属性
在 Delphi 2007 中将具有透明度的位图保存为 PNG