Сохранение растрового изображения в png с данными medata wpf c # [дубликат]

Dec 30 2020

Мне нужно сохранить растровое изображение в jpg с помощью medata, например, авторских прав в wpf С #.

         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 Dec 30 2020 at 09:52
var prop = img.GetPropertyItem(0x503B);
prop.Value = Encoding.Ascii.GetBytes("copyright name");
prop.Len = prop.Value.Length;
img.SetPropertyItem(prop);

Значение 0x503B происходит отсюда: Свойство PropertyItem.Id