public static string GetExtension(this Image img) { var converter = new ImageFormatConverter(); var extension = converter.ConvertToString(img.RawFormat); return(extension?.ToLower()); }
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); }
/// <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); } }
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 }