gpt4 book ai didi

c# - WP7 : Bringing Back App from a Tombstone State Causes App to Crash. 使用可写位图

转载 作者:行者123 更新时间:2023-11-30 18:00:16 25 4
gpt4 key购买 nike

我正在使用 Writeablebitmap 截取 UI 元素的屏幕截图。代码如下所示:

    private void Screenshot(FrameworkElement element, String fileNameLoader)
{
try
{
WriteableBitmap bmp = new WriteableBitmap(element, null);

MemoryStream ms = new MemoryStream();
bmp.SaveJpeg(ms, (int)element.ActualWidth, (int)element.ActualHeight, 0, 100);
ms.Seek(0, SeekOrigin.Begin);

MediaLibrary lib = new MediaLibrary();
String filePath = string.Format(fileNameLoader);
lib.SavePicture(filePath, ms);
}
catch (Exception exception)
{
txtDebug.Text = "There was an error. Could not save. " + exception.ToString();
}
}

我遇到的问题是,如果我按下调用 Screenshot() 方法的保存按钮,然后按下主页按钮将应用程序删除,最后按下返回按钮将应用程序返回,我得到一个屏幕说“正在恢复...”,应用程序最终崩溃了。经过一些调试后,我注意到错误似乎是由以下代码行引起的:

WriteableBitmap bmp = new WriteableBitmap(element, null);

将该行替换为:

    WriteableBitmap bmp = null;

使我免于崩溃,但我的应用无法按预期运行(屏幕截图无效)。

有没有人遇到过这个问题或者知道如何解决?我愿意接受任何解决方法,只要我仍然可以截取特定 UI 元素的屏幕截图即可。

最佳答案

我无法重现错误,但你可以试试这个:

private void Screenshot(FrameworkElement element, String fileNameLoader)
{
WriteableBitmap bmp = new WriteableBitmap(element, null);
using (MemoryStream ms = new MemoryStream())
{
bmp.SaveJpeg(ms, (int)element.ActualWidth, (int)element.ActualHeight, 0, 100);
ms.Seek(0, SeekOrigin.Begin);
using (MediaLibrary lib = new MediaLibrary())
{
String filePath = string.Format(fileNameLoader);
lib.SavePicture(filePath, ms);
}
}
}

关于c# - WP7 : Bringing Back App from a Tombstone State Causes App to Crash. 使用可写位图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10221516/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com