/// <summary> /// Rasterize EMF image to PNG using given parameters. /// Image data is passed in a request stream. /// </summary> public void CreateModifiedEmfFromRequestBody() { Console.WriteLine("Update parameters of a EMF image from request body"); using (var inputImageStream = File.OpenRead(Path.Combine(ExampleImagesFolder, SampleImageFileName))) { var bkColor = "gray"; var pageWidth = 300; var pageHeigth = 300; var borderX = 50; var borderY = 50; var format = "png"; bool? fromScratch = null; string outPath = null; // Path to updated file (if this is empty, response contains streamed image) string storage = null; // As we are using default Cloud Storage var request = new CreateModifiedEmfRequest(inputImageStream, bkColor, pageWidth, pageHeigth, borderX, borderY, fromScratch, outPath, storage, format); Console.WriteLine( $"Call CreateModifiedEmf with params: background color:{bkColor}, width:{pageWidth}, height:{pageHeigth}, border x:{borderX}, border y:{borderY}, format:{format}"); using (var updatedImage = ImagingApi.CreateModifiedEmf(request)) { SaveUpdatedSampleImageToOutput(updatedImage, true, format); } } Console.WriteLine(); }
public void CreateModifiedEmfTest(bool saveResultToStorage) { string name = "test.emf"; string bkColor = "gray"; int pageWidth = 300; int pageHeight = 300; int borderX = 50; int borderY = 50; bool? fromScratch = null; string outName = $"{name}_specific.png"; string folder = TempFolder; string storage = this.TestStorage; this.TestPostRequest( "CreateModifiedEmfTest", saveResultToStorage, $"Input image: {name}; BackColor: {bkColor}; Page width: {pageWidth}; Page height: {pageHeight}; BorderX: {borderX}; BorderY: {borderY}", name, outName, delegate(Stream inputStream, string outPath) { var request = new CreateModifiedEmfRequest(inputStream, bkColor, pageWidth, pageHeight, borderX, borderY, fromScratch, outPath, storage); return(ImagingApi.CreateModifiedEmf(request)); }, delegate(ImagingResponse originalProperties, ImagingResponse resultProperties, Stream resultStream) { int width = pageWidth + borderX * 2; int height = pageHeight + borderY * 2; Assert.IsNotNull(resultProperties.PngProperties); Assert.AreEqual(width, resultProperties.Width); Assert.AreEqual(height, resultProperties.Height); }, folder, storage); }