קוד C# לשינוי METADATA של תמונה

OrMargol

New member
קוד C# לשינוי METADATA של תמונה

אני צריך לכתוב פונקציה ב-C#, שמקבל שם קובץ ותאריך ומשנה את תאריך הצילום של הקובץ (תמונה) לתאריך הנבחר.

ראיתי הרבה חלקי קוד בנושא, אף אחד לא עשה בדיוק את מה שרציתי ולא הצלחתי לייצר בעצמי באמצעות הקודים שראיתי...

אם מישהו יכול לעזור בהכוונה/קוד לדוג' אשמח.
 

OrMargol

New member
הנה הקוד שהצלחתי לכתוב... אין שגיאות אבל הקובץ לא מתעדכן...

string file_name = @"C:\AlbumTest\test.jpg";
string new_file_name = file_name.Remove(file_name.LastIndexOf(@"\") + 1) + "_" + file_name.Substring(file_name.LastIndexOf(@"\") + 1);
File.Copy(file_name, new_file_name);
Image new_file_image = Image.FromFile(new_file_name);
PropertyItem propItem = new_file_image.GetPropertyItem(36867);
string originStr = Encoding.UTF8.GetString(propItem.Value);
originStr = originStr.Remove(originStr.Length - 1);
DateTime originDateTime = DateTime.ParseExact(originStr, "yyyy:MM:dd HH:mm:ss", null);
propItem.Value = Encoding.UTF8.GetBytes(originDateTime.ToString("yyyy:MM:dd HH:mm:ss") + "\0");
new_file_image.SetPropertyItem(propItem);
new_file_image.Save(file_name);
new_file_image.Dispose();
File.Delete(new_file_name);
 
למעלה