Exemple #1
0
        public void CreateModifiedJpegTest(bool saveResultToStorage)
        {
            string name            = "test.jpg";
            int    quality         = 65;
            string compressionType = "progressive";
            bool?  fromScratch     = null;
            string outName         = $"{name}_specific.jpg";
            string folder          = TempFolder;
            string storage         = this.TestStorage;

            this.TestPostRequest(
                "CreateModifiedJpegTest",
                saveResultToStorage,
                $"Input image: {name}; Quality: {quality}; Compression type: {compressionType}",
                name,
                outName,
                delegate(Stream inputStream, string outPath)
            {
                var request = new CreateModifiedJpegRequest(inputStream, quality, compressionType, fromScratch, outPath, storage);
                return(ImagingApi.CreateModifiedJpeg(request));
            },
                delegate(ImagingResponse originalProperties, ImagingResponse resultProperties, Stream resultStream)
            {
                Assert.NotNull(resultProperties.JpegProperties);

                Assert.NotNull(originalProperties.JpegProperties);
                Assert.AreEqual(originalProperties.Width, resultProperties.Width);
                Assert.AreEqual(originalProperties.Height, resultProperties.Height);
            },
                folder,
                storage);
        }
        /// <summary>
        ///     Update parameters of existing JPEG image. Image data is passed in a request stream.
        /// </summary>
        public void CreateModifiedJpegFromRequestBody()
        {
            Console.WriteLine("Update parameters of a JPEG image from request body");

            using (var inputImageStream = File.OpenRead(Path.Combine(ExampleImagesFolder, SampleImageFileName)))
            {
                int?   quality         = 65;
                var    compressionType = "progressive";
                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 modifiedJpgRequest =
                    new CreateModifiedJpegRequest(inputImageStream, quality, compressionType, fromScratch, outPath,
                                                  storage);

                Console.WriteLine(
                    $"Call CreateModifiedJpeg with params: quality:{quality}, compression type:{compressionType}");

                using (var updatedImage = ImagingApi.CreateModifiedJpeg(modifiedJpgRequest))
                {
                    SaveUpdatedSampleImageToOutput(updatedImage, true);
                }
            }

            Console.WriteLine();
        }