Bonsoir,
je suis en train de développer un petit programme qui doit me permettre de modifier les métadonnées d'une photo codée en "jpeg"
pour cela je passe par la classe " InPlaceBitmapMetadataWriter".
Lorsque je teste son "Trysave()" ce dernier est bien à "True" par contre la mise à jour de mes métadonnées ne s'effectue pas et aucun message d'erreur ne s'affiche.
Pourriez-vous m'aider ?
Par avance merci
voici le programme
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81 using System; using System.IO; using System.Collections.Generic; using System.Linq; using System.Text; using System.Windows; using System.Windows.Controls; using System.Windows.Data; using System.Windows.Documents; using System.Windows.Input; using System.Windows.Media; using System.Windows.Media.Imaging; using System.Windows.Navigation; using System.Windows.Shapes; namespace photo2 { /// <summary> /// Logique d'interaction pour MainWindow.xaml /// </summary> public partial class MainWindow : Window { public MainWindow() { InitializeComponent(); } BitmapFrame frame; string fileName ="C:\\Documents and Settings\\Michel\\Mes documents\\Visual Studio 2010\\Projects\\photo2\\photo2\\bin\\Debug\\test.jpg" ; BitmapMetadata metadata; String d = "14/04/2011 06:34:19"; FileStream fileStream; private void Window_Loaded(object sender, RoutedEventArgs e) { } private void Lancer_Click(object sender, RoutedEventArgs e) { fileStream = new FileStream(fileName, FileMode.Open, FileAccess.ReadWrite, FileShare.ReadWrite); JpegBitmapDecoder jpjDecoder = new JpegBitmapDecoder(fileStream, BitmapCreateOptions.None, BitmapCacheOption.Default); frame = jpjDecoder.Frames[0]; Photo.Source = frame.Thumbnail; metadata = new BitmapMetadata("jpg"); metadata =(BitmapMetadata) frame.Metadata; textBox1.Text = metadata.DateTaken; ; textBox2.Text = metadata.Comment; } private void button1_Click(object sender, RoutedEventArgs e) { InPlaceBitmapMetadataWriter modif =frame.CreateInPlaceBitmapMetadataWriter(); if (modif.TrySave() == true) { textBox2.Text = modif.TrySave().ToString(); modif.Comment = "zzzzz"; fileStream.Close(); } } } }
Partager