Skip to content

Commit 5a67771

Browse files
Fixed save image misalignment
1 parent 8910e94 commit 5a67771

File tree

1 file changed

+10
-3
lines changed

1 file changed

+10
-3
lines changed

DualShot/Controls/FrameViewer.cs

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ namespace DualShot.Controls
1515
public class FrameViewer : Canvas
1616
{
1717
public FrameViewer()
18-
{
18+
{
1919
SetLeft(FrameImage, 0);
2020
SetTop(FrameImage, 0);
2121
Children.Add(FrameImage);
@@ -53,7 +53,7 @@ public BitmapImage Frame
5353
private static void FramePropertyChanged(DependencyObject d, DependencyPropertyChangedEventArgs e)
5454
{
5555
var o = d as FrameViewer;
56-
var i = e.NewValue as BitmapSource;
56+
var i = e.NewValue as BitmapSource;
5757
o.FrameImage.Source = i;
5858
o.Width = o.FrameImage.Width = i.PixelWidth;
5959
o.Height = o.FrameImage.Height = i.PixelHeight;
@@ -115,7 +115,14 @@ private static void ScreenshotPropertyChanged(DependencyObject d, DependencyProp
115115
public void Save(string filename)
116116
{
117117
RenderTargetBitmap result = new RenderTargetBitmap((int)Width, (int)Height, 96, 96, PixelFormats.Pbgra32);
118-
result.Render(this);
118+
DrawingVisual dv = new DrawingVisual();
119+
using (DrawingContext ctx = dv.RenderOpen())
120+
{
121+
VisualBrush vb = new VisualBrush(this);
122+
ctx.DrawRectangle(vb, null, new Rect(new Point(), new Size((int)Width,(int)Height)));
123+
}
124+
result.Render(dv);
125+
119126
var encoder = new PngBitmapEncoder();
120127
encoder.Frames.Add(BitmapFrame.Create(result));
121128
using (var file = File.Create(filename))

0 commit comments

Comments
 (0)