Manipulating Vector images

Extraction of raster images, embedded in vector formats

Using Aspose.Imaging for .NET, developers can easily in unified way extract raster images embedded in vector formats. Example contains how to get embedded images from SVG file, but also you can use it for another vector formats.

using Aspose.Imaging;
using System.Collections.Generic;
using System.IO;
string templatesFolder = @"c:\Users\USER\Downloads\templates";
string dataDir = templatesFolder;
string fileName = Path.Combine(dataDir, "template.svg");
var outputFolder = dataDir;
List<string> files = new List<string>();
using (Image image = Image.Load(fileName))
{
var images = ((VectorImage)image).GetEmbeddedImages();
int i = 0;
foreach (EmbeddedImage im in images)
{
string outFileName = string.Format("svg_image{0}{1}", i++, GetExtension(im.Image.FileFormat));
string outFilePath = Path.Combine(outputFolder, outFileName);
files.Add(outFilePath);
using (im)
{
im.Image.Save(outFilePath);
}
File.Delete(outFilePath);
}
}
static string GetExtension(FileFormat format)
{
switch (format)
{
case FileFormat.Jpeg:
return ".jpg";
case FileFormat.Png:
return ".png";
case FileFormat.Bmp:
return ".bmp";
default:
return "." + format.ToString();
}
}