Hey
.
Ik hier een NFO viewer gemaakt in C#/WPF. Naast het bekijken van NFO's wil ik die ook kunnen exporteren naar een PNG afbeelding. Hiervoor heb ik het volgende gedaan:
Nu, wanneer ik een NFO bestand open en deze direct export naar een afbeelding werkt dit perfect. Maar als ik eerst naar beneden scroll om de NFO te lezen en daarna export dan is telkens een stuk van de afbeelding volledig transparant. Namelijk het stuk dat niet zichtbaar is in het programma. Iemand enig idee hoe ik dit kan oplossen?
Alvast bedank!
Ik hier een NFO viewer gemaakt in C#/WPF. Naast het bekijken van NFO's wil ik die ook kunnen exporteren naar een PNG afbeelding. Hiervoor heb ik het volgende gedaan:
code:
1
2
3
4
5
6
7
8
9
| <ScrollViewer x:Name="scrollNfo" Grid.Row="1" Background="{Binding ElementName=txtNfo, Path=Background}" HorizontalScrollBarVisibility="Auto" HorizontalContentAlignment="Center"> <TextBox x:Name="txtNfo" Background="#FF212121" Foreground="#FFDEDEDE" FontFamily="Courier New" Padding="5" HorizontalAlignment="Center" BorderThickness="0" IsReadOnly="True"> <TextBox.BorderBrush> <SolidColorBrush /> </TextBox.BorderBrush> </TextBox> </ScrollViewer> |
C#:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
| private void menuExportAsImage_Click(object sender, RoutedEventArgs e) { var sfd = new System.Windows.Forms.SaveFileDialog(); sfd.AddExtension = true; sfd.CheckFileExists = false; sfd.CheckPathExists = false; sfd.FileName = System.IO.Path.GetFileNameWithoutExtension(this.currentFile); sfd.Filter = Res.SaveImageFilter; sfd.RestoreDirectory = false; sfd.SupportMultiDottedExtensions = true; if (sfd.ShowDialog() == System.Windows.Forms.DialogResult.OK) { RenderTargetBitmap renderTarget = new RenderTargetBitmap( (int)Math.Ceiling(this.txtNfo.ActualWidth), (int)Math.Ceiling(this.txtNfo.ActualHeight), 96d, 96d, PixelFormats.Default); renderTarget.Clear(); renderTarget.Render(this.txtNfo); PngBitmapEncoder encoder = new PngBitmapEncoder(); encoder.Frames.Add(BitmapFrame.Create(renderTarget)); using (var fs = File.Create(sfd.FileName)) encoder.Save(fs); } } |
Nu, wanneer ik een NFO bestand open en deze direct export naar een afbeelding werkt dit perfect. Maar als ik eerst naar beneden scroll om de NFO te lezen en daarna export dan is telkens een stuk van de afbeelding volledig transparant. Namelijk het stuk dat niet zichtbaar is in het programma. Iemand enig idee hoe ik dit kan oplossen?
Alvast bedank!
Asus P8P67 EVO | i5 2500k (4.8 GHz) | Sapphire HD 7970 Vapor-X GHz Ed. | 8 GB DDR3 1600 | 1 TB HDD