/// <summary> /// Update parameters of a BMP image. Image data is passed in a request stream. /// </summary> public void CreateModifiedBmpFromRequestBody() { Console.WriteLine("Update parameters of a BMP image from request body"); using (var inputImageStream = File.OpenRead(Path.Combine(ExampleImagesFolder, SampleImageFileName))) { int? bitsPerPixel = 32; int? horizontalResolution = 300; int? verticalResolution = 300; bool? fromScratch = null; string outPath = null; // Path to updated file (if this is empty, response contains streamed image) string storage = null; // We are using default Cloud Storage var request = new CreateModifiedBmpRequest(inputImageStream, bitsPerPixel, horizontalResolution, verticalResolution, fromScratch, outPath, storage); Console.WriteLine( $"Call CreateModifiedBmp with params: bits per pixel:{bitsPerPixel}, horizontal resolution:{horizontalResolution}, vertical resolution:{verticalResolution}"); using (var updatedImage = ImagingApi.CreateModifiedBmp(request)) { // Save updated image to local storage SaveUpdatedSampleImageToOutput(updatedImage, true); } } Console.WriteLine(); }
public void CreateModifiedBmpTest(bool saveResultToStorage) { string name = "test.bmp"; int? bitsPerPixel = 32; int? horizontalResolution = 300; int? verticalResolution = 300; bool? fromScratch = null; string outName = $"{name}_specific.bmp"; string folder = TempFolder; string storage = this.TestStorage; this.TestPostRequest( "CreateModifiedBmpTest", saveResultToStorage, $"Input image: {name}; Bits per pixel: {bitsPerPixel}; Horizontal resolution: {horizontalResolution}; Vertical resolution: {verticalResolution}", name, outName, delegate(Stream inputStream, string outPath) { var request = new CreateModifiedBmpRequest(inputStream, bitsPerPixel, horizontalResolution, verticalResolution, fromScratch, outPath, storage); return(ImagingApi.CreateModifiedBmp(request)); }, delegate(ImagingResponse originalProperties, ImagingResponse resultProperties, Stream resultStream) { Assert.IsNotNull(resultProperties.BmpProperties); Assert.AreEqual(bitsPerPixel, resultProperties.BitsPerPixel); Assert.AreEqual(verticalResolution, (int)Math.Ceiling((double)resultProperties.VerticalResolution)); Assert.AreEqual(horizontalResolution, (int)Math.Ceiling((double)resultProperties.HorizontalResolution)); Assert.IsNotNull(originalProperties.BmpProperties); Assert.AreEqual(originalProperties.BmpProperties.Compression, resultProperties.BmpProperties.Compression); Assert.AreEqual(originalProperties.Width, resultProperties.Width); Assert.AreEqual(originalProperties.Height, resultProperties.Height); }, folder, storage); }