Ejemplo n.º 1
0
        public void CreateDeskewedImageTest(
            string formatExtension,
            bool saveResultToStorage,
            bool resizeProportionally,
            string bkColor = null)
        {
            foreach (StorageFile inputFile in BasicInputTestFiles.Where(f => f.Name.EndsWith(formatExtension)))
            {
                string outName = $"{inputFile.Name}_deskew.{formatExtension}";

                this.TestPostRequest(
                    "DeskewImageTest",
                    saveResultToStorage,
                    $"Input image: {inputFile.Name}; Output format: {formatExtension}; Resize proportionally: {resizeProportionally}; Background color: {bkColor ?? "null"};",
                    inputFile.Name,
                    outName,
                    delegate(Stream inputStream, string outPath)
                {
                    var request = new CreateDeskewedImageRequest(inputStream, resizeProportionally, bkColor, outPath, TestStorage);
                    return(ImagingApi.CreateDeskewedImage(request));
                },
                    delegate(ImagingResponse originalProperties, ImagingResponse resultProperties,
                             Stream resultStream)
                {
                    if (!saveResultToStorage)
                    {
                        Assert.NotNull(resultStream);
                        Assert.IsTrue(resultStream.Length > 0);
                        Assert.AreEqual(originalProperties.BitsPerPixel, resultProperties.BitsPerPixel);
                    }
                    else
                    {
                        Assert.IsTrue(originalProperties.BitsPerPixel == resultProperties.BitsPerPixel);
                    }
                },
                    TempFolder,
                    TestStorage);
            }
        }
        /// <summary>
        /// Deskews an image. Image data is passed in a request stream.
        /// </summary>
        public void CreateDeskewedImageFromRequestBody()
        {
            Console.WriteLine("Deskews the image from request body");

            using (FileStream inputImageStream = File.OpenRead(Path.Combine(ExampleImagesFolder, SampleImageFileName)))
            {
                bool   resizeProportionally = true;
                string bkColor = "white";
                string storage = null; // We are using default Cloud Storage
                string outPath = null; // Path to updated file (if this is empty, response contains streamed image)

                var request = new CreateDeskewedImageRequest(inputImageStream, resizeProportionally, bkColor, outPath, storage);

                Console.WriteLine($"Call DeskewImage with params: resizeProportionally:{resizeProportionally}, bkColor:{bkColor}");

                using (Stream updatedImage = this.ImagingApi.CreateDeskewedImage(request))
                {
                    SaveUpdatedSampleImageToOutput(updatedImage, true, SaveImageFormat);
                }
            }

            Console.WriteLine();
        }