@@ -15,7 +15,7 @@ namespace DualShot.Controls
15
15
public class FrameViewer : Canvas
16
16
{
17
17
public FrameViewer ( )
18
- {
18
+ {
19
19
SetLeft ( FrameImage , 0 ) ;
20
20
SetTop ( FrameImage , 0 ) ;
21
21
Children . Add ( FrameImage ) ;
@@ -53,7 +53,7 @@ public BitmapImage Frame
53
53
private static void FramePropertyChanged ( DependencyObject d , DependencyPropertyChangedEventArgs e )
54
54
{
55
55
var o = d as FrameViewer ;
56
- var i = e . NewValue as BitmapSource ;
56
+ var i = e . NewValue as BitmapSource ;
57
57
o . FrameImage . Source = i ;
58
58
o . Width = o . FrameImage . Width = i . PixelWidth ;
59
59
o . Height = o . FrameImage . Height = i . PixelHeight ;
@@ -115,7 +115,14 @@ private static void ScreenshotPropertyChanged(DependencyObject d, DependencyProp
115
115
public void Save ( string filename )
116
116
{
117
117
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
+
119
126
var encoder = new PngBitmapEncoder ( ) ;
120
127
encoder . Frames . Add ( BitmapFrame . Create ( result ) ) ;
121
128
using ( var file = File . Create ( filename ) )
0 commit comments