Esempio n. 1
0
        /// <summary>
        ///     Update parameters of a BMP image. Image data is passed in a request stream.
        /// </summary>
        public void CreateModifiedBmpFromRequestBody()
        {
            Console.WriteLine("Update parameters of a BMP image from request body");

            using (var inputImageStream = File.OpenRead(Path.Combine(ExampleImagesFolder, SampleImageFileName)))
            {
                int?   bitsPerPixel         = 32;
                int?   horizontalResolution = 300;
                int?   verticalResolution   = 300;
                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 request = new CreateModifiedBmpRequest(inputImageStream, bitsPerPixel, horizontalResolution,
                                                           verticalResolution, fromScratch, outPath, storage);

                Console.WriteLine(
                    $"Call CreateModifiedBmp with params: bits per pixel:{bitsPerPixel}, horizontal resolution:{horizontalResolution}, vertical resolution:{verticalResolution}");

                using (var updatedImage = ImagingApi.CreateModifiedBmp(request))
                {
                    // Save updated image to local storage
                    SaveUpdatedSampleImageToOutput(updatedImage, true);
                }
            }

            Console.WriteLine();
        }
Esempio n. 2
0
        public void CreateModifiedBmpTest(bool saveResultToStorage)
        {
            string name                 = "test.bmp";
            int?   bitsPerPixel         = 32;
            int?   horizontalResolution = 300;
            int?   verticalResolution   = 300;
            bool?  fromScratch          = null;
            string outName              = $"{name}_specific.bmp";
            string folder               = TempFolder;
            string storage              = this.TestStorage;

            this.TestPostRequest(
                "CreateModifiedBmpTest",
                saveResultToStorage,
                $"Input image: {name}; Bits per pixel: {bitsPerPixel}; Horizontal resolution: {horizontalResolution}; Vertical resolution: {verticalResolution}",
                name,
                outName,
                delegate(Stream inputStream, string outPath)
            {
                var request = new CreateModifiedBmpRequest(inputStream, bitsPerPixel, horizontalResolution, verticalResolution, fromScratch, outPath, storage);
                return(ImagingApi.CreateModifiedBmp(request));
            },
                delegate(ImagingResponse originalProperties, ImagingResponse resultProperties, Stream resultStream)
            {
                Assert.IsNotNull(resultProperties.BmpProperties);
                Assert.AreEqual(bitsPerPixel, resultProperties.BitsPerPixel);
                Assert.AreEqual(verticalResolution, (int)Math.Ceiling((double)resultProperties.VerticalResolution));
                Assert.AreEqual(horizontalResolution, (int)Math.Ceiling((double)resultProperties.HorizontalResolution));

                Assert.IsNotNull(originalProperties.BmpProperties);
                Assert.AreEqual(originalProperties.BmpProperties.Compression,
                                resultProperties.BmpProperties.Compression);
                Assert.AreEqual(originalProperties.Width, resultProperties.Width);
                Assert.AreEqual(originalProperties.Height, resultProperties.Height);
            },
                folder,
                storage);
        }