Exemple #1
0
        public static string GetExtension(this Image img)
        {
            var converter = new ImageFormatConverter();
            var extension = converter.ConvertToString(img.RawFormat);

            return(extension?.ToLower());
        }
Exemple #2
0
        public void SaveAllImages()
        {
            //ExStart
            //ExFor:ImageData.HasImage
            //ExFor:ImageData.ToImage
            //ExFor:ImageData.Save(Stream)
            //ExSummary:Shows how to save all the images from a document to the file system.
            Document imgSourceDoc = new Document(MyDir + "Images.docx");

            // Images are stored inside shapes, and if a shape contains an image, its "HasImage" flag will be set
            // Get an enumerator for all shapes with that flag in the document
            IEnumerable <Shape> shapes = imgSourceDoc.GetChildNodes(NodeType.Shape, true).Cast <Shape>().Where(s => s.HasImage);

            // We will use an ImageFormatConverter to determine an image's file extension
            ImageFormatConverter formatConverter = new ImageFormatConverter();

            // Go over all of the document's shapes
            // If a shape contains image data, save the image in the local file system
            using (IEnumerator <Shape> enumerator = shapes.GetEnumerator())
            {
                int shapeIndex = 0;

                while (enumerator.MoveNext())
                {
                    ImageData   imageData     = enumerator.Current.ImageData;
                    ImageFormat format        = imageData.ToImage().RawFormat;
                    string      fileExtension = formatConverter.ConvertToString(format);

                    using (FileStream fileStream = File.Create(ArtifactsDir + $"Drawing.SaveAllImages.{++shapeIndex}.{fileExtension}"))
                        imageData.Save(fileStream);
                }
            }
            //ExEnd

            string[]        imageFileNames = Directory.GetFiles(ArtifactsDir).Where(s => s.StartsWith(ArtifactsDir + "Drawing.SaveAllImages.")).ToArray();
            List <FileInfo> fileInfos      = imageFileNames.Select(s => new FileInfo(s)).ToList();

            TestUtil.VerifyImage(2467, 1500, fileInfos[0].FullName);
            Assert.AreEqual(".Jpeg", fileInfos[0].Extension);
            TestUtil.VerifyImage(400, 400, fileInfos[1].FullName);
            Assert.AreEqual(".Png", fileInfos[1].Extension);
            TestUtil.VerifyImage(382, 138, fileInfos[2].FullName);
            Assert.AreEqual(".Emf", fileInfos[2].Extension);
            TestUtil.VerifyImage(1600, 1600, fileInfos[3].FullName);
            Assert.AreEqual(".Wmf", fileInfos[3].Extension);
            TestUtil.VerifyImage(534, 534, fileInfos[4].FullName);
            Assert.AreEqual(".Emf", fileInfos[4].Extension);
            TestUtil.VerifyImage(1260, 660, fileInfos[5].FullName);
            Assert.AreEqual(".Jpeg", fileInfos[5].Extension);
            TestUtil.VerifyImage(1125, 1500, fileInfos[6].FullName);
            Assert.AreEqual(".Jpeg", fileInfos[6].Extension);
            TestUtil.VerifyImage(1027, 1500, fileInfos[7].FullName);
            Assert.AreEqual(".Jpeg", fileInfos[7].Extension);
            TestUtil.VerifyImage(1200, 1500, fileInfos[8].FullName);
            Assert.AreEqual(".Jpeg", fileInfos[8].Extension);
        }
        public void SaveAllImages()
        {
            //ExStart
            //ExFor:ImageData.HasImage
            //ExFor:ImageData.ToImage
            //ExFor:ImageData.Save(Stream)
            //ExSummary:Shows how to save all images from a document to the file system.
            Document imgSourceDoc = new Document(MyDir + "Images.docx");

            // Shapes with the "HasImage" flag set store and display all the document's images.
            IEnumerable <Shape> shapesWithImages =
                imgSourceDoc.GetChildNodes(NodeType.Shape, true).Cast <Shape>().Where(s => s.HasImage);

            // Go through each shape and save its image.
            ImageFormatConverter formatConverter = new ImageFormatConverter();

            using (IEnumerator <Shape> enumerator = shapesWithImages.GetEnumerator())
            {
                int shapeIndex = 0;

                while (enumerator.MoveNext())
                {
                    ImageData   imageData     = enumerator.Current.ImageData;
                    ImageFormat format        = imageData.ToImage().RawFormat;
                    string      fileExtension = formatConverter.ConvertToString(format);

                    using (FileStream fileStream = File.Create(ArtifactsDir + $"Drawing.SaveAllImages.{++shapeIndex}.{fileExtension}"))
                        imageData.Save(fileStream);
                }
            }
            //ExEnd

            string[]        imageFileNames = Directory.GetFiles(ArtifactsDir).Where(s => s.StartsWith(ArtifactsDir + "Drawing.SaveAllImages.")).OrderBy(s => s).ToArray();
            List <FileInfo> fileInfos      = imageFileNames.Select(s => new FileInfo(s)).ToList();

            TestUtil.VerifyImage(2467, 1500, fileInfos[0].FullName);
            Assert.AreEqual(".Jpeg", fileInfos[0].Extension);
            TestUtil.VerifyImage(400, 400, fileInfos[1].FullName);
            Assert.AreEqual(".Png", fileInfos[1].Extension);
            TestUtil.VerifyImage(382, 138, fileInfos[2].FullName);
            Assert.AreEqual(".Emf", fileInfos[2].Extension);
            TestUtil.VerifyImage(1600, 1600, fileInfos[3].FullName);
            Assert.AreEqual(".Wmf", fileInfos[3].Extension);
            TestUtil.VerifyImage(534, 534, fileInfos[4].FullName);
            Assert.AreEqual(".Emf", fileInfos[4].Extension);
            TestUtil.VerifyImage(1260, 660, fileInfos[5].FullName);
            Assert.AreEqual(".Jpeg", fileInfos[5].Extension);
            TestUtil.VerifyImage(1125, 1500, fileInfos[6].FullName);
            Assert.AreEqual(".Jpeg", fileInfos[6].Extension);
            TestUtil.VerifyImage(1027, 1500, fileInfos[7].FullName);
            Assert.AreEqual(".Jpeg", fileInfos[7].Extension);
            TestUtil.VerifyImage(1200, 1500, fileInfos[8].FullName);
            Assert.AreEqual(".Jpeg", fileInfos[8].Extension);
        }
Exemple #4
0
 /// <summary>
 /// Saves image with new name and selected Image Format. Returns saved file path and isUploaded
 /// </summary>
 /// <param name="newImage">Image to save</param>
 /// <param name="fullFolderPath">Full path of folder to save. For example ~/Content/Images/ExampleFolder</param>
 /// <param name="format">Format to be saved</param>
 /// <param name="isUploaded">out Is save successfull?</param>
 /// <returns></returns>
 public static string ImageUpload(Image newImage, string fullFolderPath, ImageFormat format, out bool isUploaded)
 {
     try
     {
         ImageFormatConverter imgConverter = new ImageFormatConverter();
         string fileName  = Guid.NewGuid().ToString().Replace("-", string.Empty).ToLower();
         string extension = imgConverter.ConvertToString(format);
         string path      = string.Format("{0}/{1}.{2}", fullFolderPath, fileName, extension);
         newImage.Save(HttpContext.Current.Server.MapPath(path));
         isUploaded = true;
         return(path);
     }
     catch (Exception ex)
     {
         isUploaded = false;
         return(ex.Message);
     }
 }
Exemple #5
0
        public void SaveAllImages()
        {
            //ExStart
            //ExFor:ImageData.HasImage
            //ExFor:ImageData.ToImage
            //ExFor:ImageData.Save(Stream)
            //ExSummary:Shows how to save all the images from a document to the file system.
            Document imgSourceDoc = new Document(MyDir + "Image.SampleImages.doc");

            // Images are stored as shapes
            // Get into the document's shape collection to verify that it contains 6 images
            List <Shape> shapes = imgSourceDoc.GetChildNodes(NodeType.Shape, true).Cast <Shape>().ToList();

            Assert.AreEqual(6, shapes.Count);

            // We will use an ImageFormatConverter to determine an image's file extension
            ImageFormatConverter formatConverter = new ImageFormatConverter();

            // Go over all of the document's shapes
            // If a shape contains image data, save the image in the local file system
            for (int i = 0; i < shapes.Count; i++)
            {
                ImageData imageData = shapes[i].ImageData;

                if (imageData.HasImage)
                {
                    ImageFormat format        = imageData.ToImage().RawFormat;
                    string      fileExtension = formatConverter.ConvertToString(format);

                    using (FileStream fileStream = File.Create(ArtifactsDir + $"Image from shape {i}.{fileExtension}"))
                    {
                        imageData.Save(fileStream);
                    }
                }
            }
            //ExEnd
        }