내 응용 프로그램에서 서명을 캡처하는 데 사용하는 WPF InkCanvas 컨트롤이 있습니다. 컨트롤은 다음과 같습니다 - 나는 JPG로 저장할 때, 그러나 alt text http://img156.imageshack.us/img156/7885/inkcanvas.jpgWPF InkCanvas를 JPG에 저장 - 이미지가 잘 리면서 나타납니다.
700x300
있어, 결과 이미지는, 다음과 같이 700x300
alt text http://img210.imageshack.us/img210/5668/saved.jpg
난 코드를 찾습니다
sigPath = System.IO.Path.GetTempFileName();
MemoryStream ms = new MemoryStream();
FileStream fs = new FileStream(sigPath, FileMode.Create);
RenderTargetBitmap rtb = new RenderTargetBitmap((int)inkSig.Width, (int)inkSig.Height, 96d, 96d, PixelFormats.Default);
rtb.Render(inkSig);
JpegBitmapEncoder encoder = new JpegBitmapEncoder();
encoder.Frames.Add(BitmapFrame.Create(rtb));
encoder.Save(fs);
fs.Close();
을 저장하기 위해 사용하는 이것은 내가 사용하고있어 XAML은 다음과 같습니다
<Window x:Class="Consent.Client.SigPanel"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Background="Transparent" Topmost="True" AllowsTransparency="True"
Title="SigPanel" Left="0" Top="0" Height="1024" Width="768" WindowStyle ="None" ShowInTaskbar="False" ResizeMode="NoResize" WindowStartupLocation="CenterScreen" >
<Border BorderThickness="1" BorderBrush="Black" Background='#FFFFFFFF' x:Name='DocumentRoot' Width='750' Height='400' CornerRadius='10'>
<StackPanel HorizontalAlignment="Center" VerticalAlignment="Center">
<TextBlock Name="txtLabel" FontSize="24" HorizontalAlignment="Center" >Label</TextBlock>
<InkCanvas Opacity="1" Background="Beige" Name="inkSig" Width="700" Height="300" />
<StackPanel HorizontalAlignment="Center" Orientation="Horizontal">
<Button FontSize="24" Margin="10" Width="150" Name="btnSave" Click="btnSave_Click">Save</Button>
<Button FontSize="24" Margin="10" Width="150" Name="btnCancel" Click="btnCancel_Click">Cancel</Button>
<Button FontSize="24" Margin="10" Width="150" Name="btnClear" Click="btnClear_Click">Clear</Button>
</StackPanel>
</StackPanel>
</Border>
는 과거에는이 완벽했다. 이미지가 저장 될 때 이미지가 바뀌는 원인이 무엇인지 알 수 없습니다.
작은 샘플을 만들고 정확한 코드를 사용하여 .jpg를 저장했습니다. 나는 다양한 이미지를 만들었지 만 한번도이 문제를 재현 할 수 없었습니다! 다른 위치에 있어야합니다 - 관련성이있는 XAML 및 기타 항목을 게시 할 수 있습니까? 덕분에 – Charlie