Commit cd9499c4 authored by ubbn's avatar ubbn
Browse files

Fix #176: Blurry text when overlapped with colored background

parent cc3765b2
......@@ -93,7 +93,11 @@ namespace SVGViewer
_transform.Translate(dx, dy, order);
}
public CompositingMode CompositingMode
{
get { return System.Drawing.Drawing2D.CompositingMode.SourceOver; /* default value */ }
set { /* Do Nothing */ }
}
public SmoothingMode SmoothingMode
{
......
......@@ -19,6 +19,7 @@ namespace Svg
void ScaleTransform(float sx, float sy, MatrixOrder order = MatrixOrder.Append);
void SetBoundable(ISvgBoundable boundable);
void SetClip(Region region, CombineMode combineMode = CombineMode.Replace);
CompositingMode CompositingMode { get; set; }
SmoothingMode SmoothingMode { get; set; }
Matrix Transform { get; set; }
void TranslateTransform(float dx, float dy, MatrixOrder order = MatrixOrder.Append);
......
......@@ -79,7 +79,11 @@ namespace Svg
this._innerGraphics.TranslateTransform(dx, dy, order);
}
public CompositingMode CompositingMode
{
get { return this._innerGraphics.CompositingMode; }
set { this._innerGraphics.CompositingMode = value; }
}
public SmoothingMode SmoothingMode
{
......
......@@ -259,6 +259,11 @@ namespace Svg
renderer.SmoothingMode = SmoothingMode.AntiAlias;
}
// If text color blends with background color, text will be rendered blurry
// To avoid it, we set SourceCopy which overwrite background color
var compositingMode = renderer.CompositingMode;
renderer.CompositingMode = CompositingMode.SourceCopy;
this.RenderFill(renderer);
this.RenderStroke(renderer);
this.RenderChildren(renderer);
......@@ -269,6 +274,8 @@ namespace Svg
renderer.SmoothingMode = SmoothingMode.Default;
}
renderer.CompositingMode = compositingMode;
this.ResetClip(renderer);
this.PopTransforms(renderer);
}
......
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