public void Save() { string in_path = CreateFile(); string out_path = ImageFile.TempPath("output.jpg"); JpegHeader source; JpegHeader dest; using (Stream orig = File.OpenRead(in_path)) { source = new JpegHeader(orig); using (Stream output = File.OpenWrite(out_path)) { source.Save(output); } using (Stream result = File.OpenRead(out_path)) { dest = new JpegHeader(result); Assert.AreEqual(source.Markers.Count, dest.Markers.Count); Assert.AreEqual(source.GuessQuality(), dest.GuessQuality()); Assert.AreEqual(orig.Length, result.Length); for (int i = 0; i < source.Markers.Count; i++) { Marker d = (Marker)dest.Markers [i]; Marker s = (Marker)source.Markers [i]; Assert.AreEqual(d.Type, s.Type); Assert.AreEqual(d.GetName(), s.GetName()); if (d.Data != null) { Assert.AreEqual(d.Data.Length, s.Data.Length); for (int j = 0; j < d.Data.Length; j++) { Assert.AreEqual(d.Data [j], s.Data [j]); } } else { Assert.AreEqual(d.Data, s.Data); } } } } File.Delete(in_path); File.Delete(out_path); }
private void SaveMetaData(System.IO.Stream input, System.IO.Stream output) { JpegHeader header = new JpegHeader(input); UpdateMeta(); // Console.WriteLine ("updated metadata"); header.SetExif(this.ExifData); // Console.WriteLine ("set exif"); if (xmp != null) { header.SetXmp(xmp); } // Console.WriteLine ("set xmp"); header.Save(output); // Console.WriteLine ("saved"); }
public void Save () { string in_path = CreateFile (); string out_path = ImageFile.TempPath ("output.jpg"); JpegHeader source; JpegHeader dest; using (Stream orig = File.OpenRead (in_path)) { source = new JpegHeader (orig); using (Stream output = File.OpenWrite (out_path)) { source.Save (output); } using (Stream result = File.OpenRead (out_path)) { dest = new JpegHeader (result); Assert.AreEqual (source.Markers.Count, dest.Markers.Count); Assert.AreEqual (source.GuessQuality (), dest.GuessQuality ()); Assert.AreEqual (orig.Length, result.Length); for (int i = 0; i < source.Markers.Count; i++) { Marker d = (Marker) dest.Markers [i]; Marker s = (Marker) source.Markers [i]; Assert.AreEqual (d.Type, s.Type); Assert.AreEqual (d.GetName (), s.GetName ()); if (d.Data != null) { Assert.AreEqual (d.Data.Length, s.Data.Length); for (int j = 0; j < d.Data.Length; j++) { Assert.AreEqual (d.Data [j], s.Data [j]); } } else { Assert.AreEqual (d.Data, s.Data); } } } } File.Delete (in_path); File.Delete (out_path); }
private void SaveMetaData (System.IO.Stream input, System.IO.Stream output) { JpegHeader header = new JpegHeader (input); UpdateMeta (); // Console.WriteLine ("updated metadata"); header.SetExif (this.ExifData); // Console.WriteLine ("set exif"); if (xmp != null) header.SetXmp (xmp); // Console.WriteLine ("set xmp"); header.Save (output); // Console.WriteLine ("saved"); }