public void ConvertToGdiPlusBitmap() { // arrange BitmapSource bitmapSource; const string fileName = "1200x1500.png"; using (var inputStream = AssemblyExtensions.OpenScopedResourceStream <BitmapSourceExtensionsTest> (fileName)) { var decoder = new PngBitmapDecoder( inputStream, BitmapCreateOptions.PreservePixelFormat, BitmapCacheOption.Default ); bitmapSource = decoder.Frames[0]; } // act var bitmap = bitmapSource.ConvertToGdiPlusBitmap(); // assert using (var actualStream = new MemoryStream()) { bitmap.Save(actualStream, ImageFormat.Png); ProgramTest.AssertStreamsAreEqual <BitmapSourceExtensionsTest> (fileName, actualStream); } }
public void Typical() { using (var ms = new MemoryStream()) using (var sw = new StreamWriter(ms)) { XDocument doc; XmlNamespaceManager namespaceManager; using (var stream = AssemblyExtensions.OpenScopedResourceStream <CollectionWriter> ("Template.cxml")) using (var reader = XmlReader.Create(stream)) { doc = XDocument.Load(reader); namespaceManager = new XmlNamespaceManager(reader.NameTable); namespaceManager.AddNamespace("c", Namespaces.Collection.NamespaceName); } using (var cw = new CollectionWriter(ms, XmlWriterSettings, futureCw => { futureCw.Flush(); sw.Write(ProgramTest.ExpectedAnsweredAndAccepted); sw.Flush(); }) ) { doc.Save(cw); } sw.Flush(); ProgramTest.AssertStreamsAreEqual <CollectionWriterTest> ("CollectionWithInjectedItems.cxml", ms); } }
public void Resize_Half() { using (var inputStream = AssemblyExtensions.OpenScopedResourceStream <DeepZoomImageTest> ("1200x1500.png")) using (var sourceBitmap = new Bitmap(inputStream)) using (var targetBitmap = DeepZoomImage.Resize(sourceBitmap, 600, 750)) using (var actualStream = new MemoryStream()) { targetBitmap.Save(actualStream, ImageFormat.Png); ProgramTest.AssertStreamsAreEqual <DeepZoomImageTest> ("600x750.png", actualStream); } }
public void Slice_Typical() { var tiles = new[] { new Pair <Rectangle, string>(DeepZoomImage.CreateRectangle(new Point(0, 0), new Point(254, 254)), "0_0"), new Pair <Rectangle, string>(DeepZoomImage.CreateRectangle(new Point(0, 253), new Point(254, 374)), "0_1"), new Pair <Rectangle, string>(DeepZoomImage.CreateRectangle(new Point(253, 0), new Point(299, 254)), "1_0"), new Pair <Rectangle, string>(DeepZoomImage.CreateRectangle(new Point(253, 253), new Point(299, 374)), "1_1"), }; var streams = new Dictionary <string, MemoryStream> { { "0_0", new MemoryStream() }, { "0_1", new MemoryStream() }, { "1_0", new MemoryStream() }, { "1_1", new MemoryStream() }, }; var settings = new Settings { PostImageEncoding = ImageFormat.Png, }; var dzi = new DeepZoomImage(settings); try { using (var inputStream = AssemblyExtensions.OpenScopedResourceStream <DeepZoomImageTest> ("300x375.png")) using (var sourceBitmap = new Bitmap(inputStream)) { dzi.Slice(sourceBitmap, tiles, tilename => streams[tilename]); } foreach (var keyValuePair in streams) { var expectedResourceFileName = keyValuePair.Key + ".png"; var actualStream = keyValuePair.Value; ProgramTest.AssertStreamsAreEqual <DeepZoomImageTest> (expectedResourceFileName, actualStream); } } finally { foreach (var stream in streams.Values) { stream.Close(); stream.Dispose(); } } }
public void CreateCollectionTile() { using (var oneStream = AssemblyExtensions.OpenScopedResourceStream <DeepZoomCollectionTest> ("1.png")) using (var one = new Bitmap(oneStream)) using (var twoStream = AssemblyExtensions.OpenScopedResourceStream <DeepZoomCollectionTest> ("2.png")) using (var two = new Bitmap(twoStream)) using (var threeStream = AssemblyExtensions.OpenScopedResourceStream <DeepZoomCollectionTest> ("3.png")) using (var three = new Bitmap(threeStream)) using (var fourStream = AssemblyExtensions.OpenScopedResourceStream <DeepZoomCollectionTest> ("4.png")) using (var four = new Bitmap(fourStream)) { var sourceBitmaps = new[] { one, two, three, four }; using (var actualBitmap = DeepZoomCollection.CreateCollectionTile(sourceBitmaps, 128)) using (var actualStream = new MemoryStream()) { actualBitmap.Save(actualStream, ImageFormat.Png); ProgramTest.AssertStreamsAreEqual <DeepZoomCollectionTest> ("1234.png", actualStream); } } }