public void CreateImageFrameTest(string formatExtension, bool saveResultToStorage) { var frameId = 1; var folder = TempFolder; var storage = TestStorage; var exportFormat = GetExportFormat(formatExtension, true); foreach (var inputFile in MultipageInputTestFiles) { var name = inputFile.Name; if (inputFile.Name.EndsWith(formatExtension)) { } else { continue; } var outName = $"{name}_single_frame{exportFormat}"; TestPostRequest( "CreateImageFrameTest", saveResultToStorage, $"Input image: {name}; Frame id: {frameId}", name, outName, delegate(Stream inputStream, string outPath) { var request = new CreateImageFrameRequest(inputStream, frameId, outPath: outPath, storage: storage); return(ImagingApi.CreateImageFrame(request)); }, delegate(ImagingResponse properties, ImagingResponse resultProperties, Stream stream) { Assert.IsNotNull(resultProperties); if (_formatsWithoutProperties.Contains(exportFormat)) { return; } var propertiesName = GetPropertiesName(exportFormat); var resultFormatProperties = typeof(ImagingResponse) .GetProperty(propertiesName, BindingFlags.Instance | BindingFlags.Public) ?.GetValue(resultProperties, null); Assert.IsNotNull(resultFormatProperties); }, folder, storage); } }
/// <summary> /// Get separate frame from existing image. Image data is passed in a request stream. /// </summary> public void CreateImageFrameFromRequestBody() { Console.WriteLine("Get separate frame from existing image from request body"); using (var inputImageStream = File.OpenRead(Path.Combine(ExampleImagesFolder, SampleImageFileName))) { int? frameId = 1; 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 createImageFrameRequest = new CreateImageFrameRequest(inputImageStream, frameId, outPath: outPath, storage: storage); Console.WriteLine($"Call CreateImageFrame with params: frame Id:{frameId}"); using (var imageFrame = ImagingApi.CreateImageFrame(createImageFrameRequest)) { SaveUpdatedImageToOutput("SingleFrameFromRequest.djvu", imageFrame); } } Console.WriteLine(); }