/// <summary> /// Rotate and/or flip an image. /// Image data is passed in a request stream. /// </summary> public void CreateRotateFlippedImageFromRequestBody() { Console.WriteLine("Rotate/flip an image from request body"); using (var inputImageStream = File.OpenRead(Path.Combine(ExampleImagesFolder, SampleImageFileName))) { // Please refer to https://docs.aspose.cloud/display/imagingcloud/Supported+File+Formats#SupportedFileFormats-RotateFlip // for possible output formats var format = "gif"; var method = "Rotate90FlipX"; // RotateFlip method 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 createRotateFlippedImageRequest = new CreateRotateFlippedImageRequest(inputImageStream, method, format, outPath, storage); Console.WriteLine($"Call CreateRotateFlippedImage with params: method:{method}, format:{format}"); using (var updatedImage = ImagingApi.CreateRotateFlippedImage(createRotateFlippedImageRequest)) { SaveUpdatedSampleImageToOutput(updatedImage, true, format); } Console.WriteLine(); } }
public void CreateRotateFlippedImageTest(string formatExtension, bool saveResultToStorage, params string[] additionalExportFormats) { string name = null; string method = "Rotate90FlipX"; string folder = TempFolder; string storage = this.TestStorage; string outName = null; List <string> formatsToExport = new List <string>(this.BasicExportFormats); foreach (string additionalExportFormat in additionalExportFormats) { if (!formatsToExport.Contains(additionalExportFormat)) { formatsToExport.Add(additionalExportFormat); } } foreach (StorageFile inputFile in BasicInputTestFiles) { if (inputFile.Name.EndsWith(formatExtension)) { name = inputFile.Name; } else { continue; } foreach (string format in formatsToExport) { outName = $"{name}_rotateFlip.{format ?? formatExtension.Substring(1)}"; this.TestPostRequest( "CreateRotateFlippedImageTest", saveResultToStorage, $"Input image: {name}; Output format: {format ?? "null"}; Method: {method}", name, outName, delegate(Stream inputStream, string outPath) { var request = new CreateRotateFlippedImageRequest(inputStream, method, format, outPath, storage); return(ImagingApi.CreateRotateFlippedImage(request)); }, delegate(ImagingResponse originalProperties, ImagingResponse resultProperties, Stream resultStream) { try { Assert.AreEqual(originalProperties.Height, resultProperties.Width); } catch (Exception) { Assert.AreEqual(originalProperties.Height - 1, resultProperties.Width); } try { Assert.AreEqual(originalProperties.Width, resultProperties.Height); } catch (Exception) { Assert.AreEqual(originalProperties.Width - 1, resultProperties.Height); } }, folder, storage); } } }