Commit e3f452a3 authored by Tebjan Halm's avatar Tebjan Halm Committed by GitHub
Browse files

Merge pull request #269 from avogelba/master

add XML header and support for disabling the BOM in SvgDocument.cs
parents 07159633 a5333645
...@@ -484,10 +484,10 @@ namespace Svg ...@@ -484,10 +484,10 @@ namespace Svg
renderer.SetBoundable(new GenericBoundable(0, 0, bitmap.Width, bitmap.Height)); renderer.SetBoundable(new GenericBoundable(0, 0, bitmap.Width, bitmap.Height));
//EO, 2014-12-05: Requested to ensure proper zooming (draw the svg in the bitmap size, ==> proper scaling) //EO, 2014-12-05: Requested to ensure proper zooming (draw the svg in the bitmap size, ==> proper scaling)
//EO, 2015-01-09, Added GetDimensions to use its returned size instead of this.Width and this.Height (request of Icarrere). //EO, 2015-01-09, Added GetDimensions to use its returned size instead of this.Width and this.Height (request of Icarrere).
//BBN, 2015-07-29, it is unnecassary to call again GetDimensions and transform to 1x1 //BBN, 2015-07-29, it is unnecassary to call again GetDimensions and transform to 1x1
//JA, 2015-12-18, this is actually necessary to correctly render the Draw(rasterHeight, rasterWidth) overload, otherwise the rendered graphic doesn't scale correctly //JA, 2015-12-18, this is actually necessary to correctly render the Draw(rasterHeight, rasterWidth) overload, otherwise the rendered graphic doesn't scale correctly
SizeF size = this.GetDimensions(); SizeF size = this.GetDimensions();
renderer.ScaleTransform(bitmap.Width / size.Width, bitmap.Height / size.Height); renderer.ScaleTransform(bitmap.Width / size.Width, bitmap.Height / size.Height);
//EO, 2014-12-05: Requested to ensure proper zooming out (reduce size). Otherwise it clip the image. //EO, 2014-12-05: Requested to ensure proper zooming out (reduce size). Otherwise it clip the image.
...@@ -575,12 +575,12 @@ namespace Svg ...@@ -575,12 +575,12 @@ namespace Svg
} }
} }
public void Write(Stream stream) public void Write(Stream stream, bool useBom = true)
{ {
var xmlWriter = new XmlTextWriter(stream, Encoding.UTF8); var xmlWriter = new XmlTextWriter(stream, useBom ? Encoding.UTF8 : new System.Text.UTF8Encoding(false));
xmlWriter.Formatting = Formatting.Indented; xmlWriter.Formatting = Formatting.Indented;
xmlWriter.WriteStartDocument();
xmlWriter.WriteDocType("svg", "-//W3C//DTD SVG 1.1//EN", "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd", null); xmlWriter.WriteDocType("svg", "-//W3C//DTD SVG 1.1//EN", "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd", null);
if (!String.IsNullOrEmpty(this.ExternalCSSHref)) if (!String.IsNullOrEmpty(this.ExternalCSSHref))
...@@ -591,11 +591,11 @@ namespace Svg ...@@ -591,11 +591,11 @@ namespace Svg
xmlWriter.Flush(); xmlWriter.Flush();
} }
public void Write(string path) public void Write(string path, bool useBom = true)
{ {
using (var fs = new FileStream(path, FileMode.Create, FileAccess.Write)) using (var fs = new FileStream(path, FileMode.Create, FileAccess.Write))
{ {
this.Write(fs); this.Write(fs, useBom);
} }
} }
} }
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment