我一直在寻找几个小时来找到问题并找不到问题。我使用此函数将base64String转换为BitmapImage
public static BitmapImage Base64StringToBitmapImage(string base64String) {
byte[] byteBuffer = Convert.FromBase64String(base64String);
MemoryStream memoryStream = new MemoryStream(byteBuffer);
memoryStream.Position = 0;
BitmapImage bitmapImage = new BitmapImage();
using (memoryStream) {
bitmapImage.BeginInit();
bitmapImage.CacheOption = BitmapCacheOption.OnLoad;
bitmapImage.StreamSource = memoryStream;
bitmapImage.EndInit();
bitmapImage.Freeze();
}
memoryStream.Close();
memoryStream = null;
byteBuffer = null;
return bitmapImage;
}
然后将其分配给绑定到视图的ViewModel的属性:
ProcessImage = Base64StringToBitmapImage(_imageString);
MainWindow.xaml
<Image x:Name="PART_IMAGE" Width="auto" Height="auto" Source="{Binding ProcessImage}" />
我已经通过将图像背景设置为红色进行了一些测试,并且我注意到图像的大小调整应该是(1920x1080,因为它来自我的计算机的打印屏幕),但我无法做到看到渲染的图像......我已经完成了很多测试并在Google上搜索过,并且没有找到任何解决方案......任何人都认为这段代码有问题,或者知道是什么导致了问题?我真的没有选择:(
答案 0 :(得分:0)
我发现了问题。在服务器端保存图像后,我发现打印屏幕图像不正确。我做了一些修改,一切正常。