/// <summary>
        ///     Rasterize EMF image to PNG using given parameters.
        ///     Image data is passed in a request stream.
        /// </summary>
        public void CreateModifiedEmfFromRequestBody()
        {
            Console.WriteLine("Update parameters of a EMF image from request body");

            using (var inputImageStream = File.OpenRead(Path.Combine(ExampleImagesFolder, SampleImageFileName)))
            {
                var    bkColor     = "gray";
                var    pageWidth   = 300;
                var    pageHeigth  = 300;
                var    borderX     = 50;
                var    borderY     = 50;
                var    format      = "png";
                bool?  fromScratch = null;
                string outPath     = null; // Path to updated file (if this is empty, response contains streamed image)
                string storage     = null; // As we are using default Cloud Storage

                var request = new CreateModifiedEmfRequest(inputImageStream, bkColor, pageWidth, pageHeigth,
                                                           borderX, borderY, fromScratch, outPath, storage, format);

                Console.WriteLine(
                    $"Call CreateModifiedEmf with params: background color:{bkColor}, width:{pageWidth}, height:{pageHeigth}, border x:{borderX}, border y:{borderY}, format:{format}");

                using (var updatedImage = ImagingApi.CreateModifiedEmf(request))
                {
                    SaveUpdatedSampleImageToOutput(updatedImage, true, format);
                }
            }

            Console.WriteLine();
        }
Пример #2
0
        public void CreateModifiedEmfTest(bool saveResultToStorage)
        {
            string name        = "test.emf";
            string bkColor     = "gray";
            int    pageWidth   = 300;
            int    pageHeight  = 300;
            int    borderX     = 50;
            int    borderY     = 50;
            bool?  fromScratch = null;
            string outName     = $"{name}_specific.png";
            string folder      = TempFolder;
            string storage     = this.TestStorage;

            this.TestPostRequest(
                "CreateModifiedEmfTest",
                saveResultToStorage,
                $"Input image: {name}; BackColor: {bkColor}; Page width: {pageWidth}; Page height: {pageHeight}; BorderX: {borderX}; BorderY: {borderY}",
                name,
                outName,
                delegate(Stream inputStream, string outPath)
            {
                var request = new CreateModifiedEmfRequest(inputStream, bkColor, pageWidth, pageHeight, borderX, borderY,
                                                           fromScratch, outPath, storage);
                return(ImagingApi.CreateModifiedEmf(request));
            },
                delegate(ImagingResponse originalProperties, ImagingResponse resultProperties, Stream resultStream)
            {
                int width  = pageWidth + borderX * 2;
                int height = pageHeight + borderY * 2;
                Assert.IsNotNull(resultProperties.PngProperties);
                Assert.AreEqual(width, resultProperties.Width);
                Assert.AreEqual(height, resultProperties.Height);
            },
                folder,
                storage);
        }