Analyzing your prompt, please hold on...
An error occurred while retrieving the results. Please refresh the page and try again.
Формат файлов PNG поддерживает сжатие изображений без потерь, что делает его популярным среди пользователей. Он имеет два основных применения: World Wide Web и редактирование изображений. Широко используются для передачи изображений по сети, отображения фотографий и графики на веб-страницах и резервирования в облачных хранилищах. Существуют некоторые ограничения на использование SVG на веб-страницах, поэтому иногда необходимо конвертировать SVG в PNG. С помощью Aspose.HTML вы можете программно конвертировать формат SVG в PNG с полным контролем над широким диапазоном параметров преобразования.
В этой статье вы найдете информацию о преобразовании SVG в PNG с помощью ConvertSVG() методов класса Converter и применения ImageSaveOptions и ICreateStreamProvider. Кроме того, вы можете попробовать онлайн-конвертер SVG, чтобы протестировать функциональность Aspose.HTML API и конвертировать SVG на лету.
Вы можете конвертировать SVG в другие форматы с помощью Aspose.HTML API в режиме реального времени. Пожалуйста, загрузите SVG из локальной файловой системы, выберите выходной формат и запустите пример. Параметры сохранения установлены по умолчанию. Вы сразу же получите результат конвертации в виде отдельного файла.
Если вы хотите программно преобразовать изображение SVG в PNG, рассмотрим следующие примеры кода C#.
Статические методы класса Converter в основном используются как самый простой способ конвертировать файл SVG в различные форматы. Вы можете преобразовать SVG в PNG в своем приложении C# буквально с помощью одной строки кода!
В следующем примере мы берем файл SVG в локальной файловой системе ( shapes.svg), преобразуем и сохраняем его в локальной файловой системе.
1// Convert SVG to PNG using C#
2
3// Invoke the ConvertSVG() method for SVG to PNG conversion
4Converter.ConvertSVG(Path.Combine(DataDir, "shapes.svg"), new ImageSaveOptions(), Path.Combine(OutputDir, "convert-with-single-line.png"));Преобразование файла в другой формат методом ConvertSVG() представляет собой последовательность операций, среди которых загрузка и сохранение документа. В следующем примере мы создаем файл SVG из кода.
content, baseUri, options, outputPath) метод класса Converter для сохранения SVG в виде изображения PNG. 1// Convert SVG to PNG in C#
2
3// Prepare SVG code
4string code = "<svg xmlns='http://www.w3.org/2000/svg'>" +
5 "<circle cx ='100' cy ='100' r ='60' fill='none' stroke='red' stroke-width='10' />" +
6 "</svg>";
7
8// Prepare a path to save the converted file
9string savePath = Path.Combine(OutputDir, "circle.png");
10
11// Create an instance of the ImageSaveOptions class
12ImageSaveOptions options = new ImageSaveOptions();
13
14// Convert SVG to PNG
15Converter.ConvertSVG(code, ".", options, savePath);Вы можете скачать полные примеры и файлы данных с GitHub.
Aspose.HTML позволяет конвертировать SVG в PNG, используя стандартные или пользовательские параметры сохранения. Использование ImageSaveOptions позволяет настроить процесс рендеринга. Вы можете указать формат изображения, размер страницы, поля, цвет фона и т. д.
| Property | Description |
|---|---|
| Compression | Sets Tagged Image File Format (TIFF) Compression. By default, this property is LZW. |
| CSS | Gets a CssOptions object which is used for configuration of CSS properties processing. |
| Format | Sets the ImageFormat (JPG, PNG, BMP, TIFF, or GIF). By default, this property is PNG. |
| BackgroundColor | This property sets the color that will fill the background. By default, this property is Transparent. |
| PageSetup | This property gets a page setup object and uses it for configuration output page-set. |
| HorizontalResolution | Sets horizontal resolution for output images in pixels per inch. The default value is 300 dpi. |
| VerticalResolution | Sets vertical resolution for output images in pixels per inch. The default value is 300 dpi. |
| UseAntialiasing | This property sets the image rendering quality. Antialiasing is enabled by default. |
| Text | Gets a TextOptions object which is used for configuration of text rendering. |
Чтобы преобразовать SVG в PNG с указанием ImageSaveOptions, вы должны выполнить несколько шагов:
В следующем фрагменте кода C# показано, как преобразовать SVG в PNG с помощью пользовательских параметров сохранения:
1// Convert SVG to PNG in C# with custom settings
2
3// Prepare a path to a source SVG file
4string documentPath = Path.Combine(DataDir, "flower1.svg");
5
6// Prepare a path to save the converted file
7string savePath = Path.Combine(OutputDir, "flower-options.png");
8
9// Initialize an SVG document from the file
10using SVGDocument document = new SVGDocument(documentPath);
11
12// Create an instance of the ImageSaveOptions class. Set up the SmoothingMode, resolutions, and change the background color to AliceBlue
13ImageSaveOptions options = new ImageSaveOptions()
14{
15 HorizontalResolution = 200,
16 VerticalResolution = 200,
17 BackgroundColor = System.Drawing.Color.AliceBlue,
18 UseAntialiasing = true,
19};
20
21// Convert SVG to PNG
22Converter.ConvertSVG(document, options, savePath);В приведенном выше примере мы используем:
BackgroundColor, задающее цвет, которым будет заполняться фон. По умолчанию BackgroundColor имеет значение Transparent;HorizontalResolution и VerticalResolution, которые устанавливают горизонтальное/вертикальное разрешение для выходных изображений в пикселях на дюйм. По умолчанию эти свойства равны 300 dpi;UseAntialiasing, задающее качество рендеринга для этого изображения. В этом примере используется UseAntialiasing = true для качественного рендеринга, требующего сглаживания.Используйте UseAntialiasing = true, если вы хотите улучшить визуальное качество фигур, текста и изображений в вашем приложении, особенно когда важны четкость и сглаженные края. Включение UseAntialiasing сглаживает неровные края путем смешивания цветов пикселей по краям, что приводит к более мягкому, более утонченному виду.
Хотя UseAntialiasing = true обеспечивает лучшее визуальное качество, это также может увеличить время обработки. Для приложений, где скорость визуализации является приоритетом, может быть оптимальным установить UseAntialiasing = false.
На рисунке показан фрагмент файла flower-options.png.

Если требуется сохранить файлы в удаленном хранилище (например, в облаке, базе данных и т. д.), вы можете реализовать ICreateStreamProvider для ручного управления процессом создания файла. Этот интерфейс разработан как объект обратного вызова для создания потока в начале документа/страницы (в зависимости от выходного формата) и освобождения ранее созданного потока после рендеринга документа/страницы.
Aspose.HTML for .NET предоставляет различные типы выходных форматов для операций рендеринга. Некоторые из этих форматов создают один выходной файл (например, PDF, XPS), другие создают несколько файлов (форматы изображений – JPG, PNG и т. д.).
В приведенном ниже примере показано, как реализовать и использовать собственный MemoryStreamProvider в приложении:
1// Implement a custom MemoryStream provider for advanced control over HTML rendering output streams
2
3class MemoryStreamProvider : Aspose.Html.IO.ICreateStreamProvider
4{
5 // List of MemoryStream objects created during the document rendering
6 public List<MemoryStream> Streams { get; } = new List<MemoryStream>();
7
8 public Stream GetStream(string name, string extension)
9 {
10 // This method is called when only one output stream is required, for instance for XPS, PDF or TIFF formats
11 MemoryStream result = new MemoryStream();
12 Streams.Add(result);
13 return result;
14 }
15
16 public Stream GetStream(string name, string extension, int page)
17 {
18 // This method is called when the creation of multiple output streams are required. For instance, during the rendering HTML to list of image files (JPG, PNG, etc.)
19 MemoryStream result = new MemoryStream();
20 Streams.Add(result);
21 return result;
22 }
23
24 public void ReleaseStream(Stream stream)
25 {
26 // Here you can release the stream filled with data and, for instance, flush it to the hard-drive
27 }
28
29 public void Dispose()
30 {
31 // Releasing resources
32 foreach (MemoryStream stream in Streams)
33 stream.Dispose();
34 }
35} 1// Convert SVG to PNG in C# using memory stream
2
3// Create an instance of MemoryStreamProvider
4using MemoryStreamProvider streamProvider = new MemoryStreamProvider();
5
6// Prepare SVG code
7string code = "<svg xmlns='http://www.w3.org/2000/svg'>" +
8 "<circle cx='50' cy='50' r='40' stroke='black' stroke-width='3' fill='red' />" +
9 "</svg>";
10
11// Convert SVG to PNG using the MemoryStreamProvider
12Converter.ConvertSVG(code, ".", new ImageSaveOptions(), streamProvider);
13
14// Get access to the memory stream that contains the result data
15MemoryStream memory = streamProvider.Streams.First();
16memory.Seek(0, SeekOrigin.Begin);
17
18// Flush the result data to the output file
19using (FileStream fs = File.Create(Path.Combine(OutputDir, "stream-provider.png")))
20{
21 memory.CopyTo(fs);
22}Проверьте качество преобразования SVG в PNG с помощью нашего онлайн-конвертера SVG в PNG. Загружайте, конвертируйте файлы и получайте результаты за несколько секунд. Попробуйте наш мощный конвертер SVG в PNG бесплатно прямо сейчас!
Загрузите нашу библиотеку Aspose.HTML for .NET, которая позволит вам успешно, быстро и легко конвертировать HTML, MHTML, EPUB, SVG и Markdown документы в самые популярные форматы.
Вы можете скачать полные примеры и файлы данных с GitHub.
Analyzing your prompt, please hold on...
An error occurred while retrieving the results. Please refresh the page and try again.