บันทึกบิตแมปเป็น png ด้วยข้อมูล medata wpf c # [ซ้ำ]
ฉันต้องการบันทึกบิตแมปเป็น jpg ด้วย medata เช่น copyright ใน wpf c #
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");
ฉันลองใช้โค้ดด้านบนแล้ว แต่มันบอกว่าดัชนีไม่อยู่ในพื้นที่อาร์เรย์
คำตอบ
Charlieface
var prop = img.GetPropertyItem(0x503B);
prop.Value = Encoding.Ascii.GetBytes("copyright name");
prop.Len = prop.Value.Length;
img.SetPropertyItem(prop);
ค่า 0x503B มาจากที่นี่: PropertyItem.Id Property