如何将 ImageSource 转换为 byte[] 并返回 ImageSource?

2023-12-05

我需要从用户那里获得图像文件路径并将图像存储在我的 SQL Server 数据库中。

我从用户那里获取文件并使用该方法转换为 byte[]

public static byte[] ImageToByteArray( BitmapSource bitmapSource )
    {
        byte[] imgAsByteArray = null;

        if( bitmapSource != null )
        {
            imgAsByteArray = ( new WriteableBitmap( ( BitmapSource )bitmapSource ) ).Pixels.SelectMany( p => new byte[] 
            { 

                ( byte )  p        , 
                ( byte )( p >> 8  ), 
                ( byte )( p >> 16 ), 
                ( byte )( p >> 24 ) 

            } ).ToArray(); 
        }

        return imgAsByteArray;
    }

但现在我无法将其转换回 BitmapSource。 我编写的将其转换回来的代码抛出异常

代码:

public static BitmapSourcebyteArrayToImage( byte[] imageBytes )
    {
        BitmapImage bitmapImage = null;
        using( MemoryStream ms = new MemoryStream( imageBytes, 0, imageBytes.Length ) )
        {
            bitmapImage = new BitmapImage();
            bitmapImage.SetSource( ms );    
        }

        return (BitmapSource)bitmapImage;
    }

我在 bitmapImage.SetSource( ms ); 行上遇到异常
异常信息为“灾难性故障”


Maybe SetSource不读取 MemoryStream,而是链接到它,当您稍后使用 BitmapSource silverlight 想要使用 MemoryStream 来获取图像时,但由于您的使用,它已经被释放并且不再有效。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何将 ImageSource 转换为 byte[] 并返回 ImageSource? 的相关文章

  • LongListSelector 内的缓慢故事板动画

    我有一个 LongListSelector 其中填充了一些项目 每个项目都有一个子菜单 可以使用滑动动画显示或折叠该子菜单 问题是动画非常慢 具体取决于您在列表中点击的项目 开始和结束的时候很慢 中间很顺利 我怀疑每个动画帧都会使长列表选择
  • 带有图像或路径的自定义滑块

    我的 WP7 应用程序中有一个滑块 我想重新设计它的样式 我的默认模板有问题 我做了类似的事情 但我无法将拇指 绑定 到该值
  • 使用 Silverlight 在运行时在 tabcontrol 中添加 TabItem

    嗨朋友们 我是 silverlight 应用程序的新手 我创建了带有 4 个 tabitem 的 tabcontrol tabitem 的名称类似于 tab1 tab2 tab3 tab4 我需要在运行项目中添加一个选项 通过以下代码添加成
  • WP7 上的 POST 请求

    我花了大约 6 个小时试图弄清楚如何在 WP7 中发出常规 POST 请求 我尝试了此处和许多其他地方发布的类似问题的答案 我还尝试了许多不同的 API POST 请求 它们都导致针对某一特定问题 远程服务器返回错误 NotFound 好像
  • 如何隐藏数据透视项标题?

    我希望有一个具有 PivotItems 但没有横向数据透视项标题文本的数据透视控件 它是横向模式下的画廊 当恢复为纵向时 它应该再次显示 PivotItems 标题 解决办法就是制作文字PivotItem Header 不好 因为标题文本占
  • 从 JavaScript 字符串保存文件而不访问服务器

    如果我在 JavaScript 中有一个内存字符串 例如 Excel 或 PDF 格式 并且我想弹出一个保存对话框以便用户可以将这些字节保存到文件中 我将如何执行此操作 我试图避免回到服务器 如果我要返回服务器 我可以在响应中发送正确的 H
  • 我可以使用 Silverlight 的 WriteableBitmap 将 UI 的不可见部分保存到位图吗?

    假设我有一些网格 您需要向下滚动才能查看其所有行 并且我有兴趣保存一些当前不可见的位图行 是否可行 或者我是否必须实际向下滚动 拍摄快照 然后再次向上滚动 这是一个可行性问题 因此我没有代码可以分享 是的 您可以将任何 UIElement
  • 拿起银光

    我对 Silverlight 一无所知 只知道它是 Microsoft 的一项技术 即将完成计算机科学学位 在工作环境中用 C 编程了几年 对 Java 和 OO 技术有很好的了解 普通的 Silverlight 编程之路有多难 我得到了一
  • 确定我的 Silverlight 应用程序的版本

    我正在尝试确定 Silverlight 应用程序的版本号 目前我正在使用 string name Assembly GetExecutingAssembly FullName AssemblyName asmName new Assembl
  • 如何在 Silverlight 3 中将 .NET RIA 服务与 MVVM 结合起来?

    NET RIA 服务被描述为 Silverlight 的 n 层框架 我一直想知道这个框架和模型 视图 视图模型模式之间有什么关系 它们是否存在冲突 或者您能看到协同组合的潜力吗 NET RIA 服务和 MVVM 是协同作用的 并不冲突 例
  • 从客户端访问 DomainService 中的自定义对象

    我正在使用域服务从 Silverlight 客户端的数据库中获取数据 在DomainService1 cs中 我添加了以下内容 EnableClientAccess public class Product public int produ
  • 如何使用 NavigationService.Navigate 传递查询字符串变量?

    问候 搜索了这个 但没有运气 我正在尝试在我的 Silverlight 4 应用程序中传递查询字符串变量 然后检索它们 首先我尝试了这个 this NavigationService Navigate new Uri LoanProduct
  • 如何为新的 Silverlight 应用程序在 WCF、REST、POX 和 RIA 服务之间进行选择

    There a lotSilverlight 应用程序连接回其服务器的不同方式 包括 WCF Windows 通信基础 http msdn microsoft com en us netframework aa663324 aspx RES
  • 使用棱镜进行事件订阅,给出方法访问异常

    我在视图模型中订阅了一个事件 事件订阅是在通过 Unity 创建的视图模型的构造函数中完成的 我发现如果我订阅为 showViewAEvent Subscribe ShowViewAHasBeenRequested 或 showViewAE
  • Silverlight 打印中“对话框必须由用户启动”安全异常的另一个技巧

    当我尝试在 Silverlight 中打印一些内容时 我收到臭名昭著的 对话框必须由用户启动 安全异常 正如您所看到的 该对话框尽可能由用户启动 约翰爸爸也帮不了我太多 http johnpapa net silverlight print
  • 禁用 WP7 浏览器控件中的滚动功能?

    是否可以在 Windows Phone 7 1 中禁用 Web 浏览器控件中的滚动 我已经看到很多关于它的问题 Windows Phone 7 0 Silverlight 但还没有答案 有任何想法吗 有一个博客文章在这里 http www
  • Silverlight 4relativeSourceFindAncestor绑定[关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions Silverlight 4中会有Re
  • 重新绑定 Silverlight 列表框控件后,如何让它列表框滚动到顶部?

    我有一个 silverlight 列表框 用作搜索结果框 我正在使用动态搜索 搜索框中的按键会导致事件触发以过滤此列表框的内容 我遇到的问题是 如果用户在未过滤框时向下滚动 然后进行搜索 列表框的重新绑定不会导致滚动返回到顶部 从而使结果看
  • WCF 服务中的缓冲区大小

    我们有一个 WCF 服务 它执行某些存储过程并将结果返回给 silverlight 客户端 某些存储过程最多返回 80K 行 下面给出的是 web config 中服务的设置
  • 从 Silverlight 4 升级到 Silverlight 5 导致 AccessViolationException

    我们已经将项目从 Silverlight 4 升级到 Silverlight 5 现在我们正在体验AccessViolationException有时在代码的不同地方 这个异常也会导致浏览器崩溃 有什么指导方针可以防止这种情况发生吗 我正在

随机推荐

  • 包含自定义 cmdlet 的 Start-Job 因奇怪错误而终止

    我开发了一些定制cmdlets用于向 SharePoint 系统执行不同的导入任务 目前 所有这些 cmdlet 都在单个 PowerShell 脚本中以串行方式运行 我想更改此设置 以便每个 cmdlet 在单独的任务 作业 中执行 主脚
  • 自定义存储库基类 + QueryDslPredicateExecutor

    我已经发现QueryDslPredicateExecutor对于减少样板文件非常有用 但它似乎给工作带来了麻烦 我现在正在尝试延长JpaRepository使用自定义基类存储库 并且在启动时 Spring 无法正确实例化存储库 Custom
  • Docker:将 apt-key 与 alpine 镜像结合使用

    我正在尝试使用 alpine nodeJS docker 映像 但确实收到错误 bin sh apt key not found 我需要补充什么 FROM node 8 6 alpine RUN apt key adv keyserver
  • 输入层从深度学习模型的结构中消失

    我使用以下代码使用 VGG16 创建了 CNN 模型 但创建模型后 模型的输入层从结构中消失 见图 为什么输入层从结构中消失 vgg16 model keras applications vgg16 VGG16 model Sequenti
  • 如何使用 htaccess 规则停止直接执行 php 页面?

    在我的 htaccess 文件中 我定义了以下规则 使我的注册页面 URL 为http example com register RewriteRule register register php 上述规则完全没问题 但我可以从以下位置访问
  • C# int、Int32 和枚举

    If int是同义词Int32为什么 enum MyEnum Int32 Value 1 不编译 然而 enum MyEnum int Value 1 即使将光标悬停在 int 单词上也会显示 struct System Int32 底层类
  • FileStream 在顶部追加数据

    我正在开发一个实用程序 我想在文件顶部追加数据 但它是覆盖而不是追加 例如 考虑 file txt 这里存在一些东西 现在我想在当前行之前附加 此处存在更多内容 有没有办法可以不使用 2 FileStreams 不 文件系统基本上不支持将数
  • 如何将变量扩展到maven-archetype中的嵌套目录中

    假设我已经设置了groupId to com example and artifactId to fancy project 现在我想创建一个原型 这样在创建时会扩展为以下结构 src main com example fancy proj
  • MVC3 - 如何正确使用@html.checkbox?

    我是 MVC3 的新手 我不知道如何在 MVC 中使用复选框 我的视图中有一堆文本 例如 text1 text2 text3 text4 text5 submitbutton 该文本与任何模型无关 只是纯文本 我想为每个项目放置一个复选框并
  • 具有属性继承的表达式树导致参数异常

    继这篇文章之后 链接文本我正在尝试创建一个引用属性的表达式树 我的代码如下所示 public interface IFoo void X get set public interface IBar IFoo void Y get set p
  • 选择两个日期之间的记录

    我有以下查询 SELECT dm app id apt app name COUNT dm app id FROM dm openapp dm JOIN app table apt ON dm app id apt app id GROUP
  • SUMIF 包含数组中的元素之一 (OR)

    我有一个付款列表 我想总结其描述等于我的数组中的元素之一的成本 EMTE 120 00 Bread 35 24 Lidl 0 89 Plus 5 19 Aldi 2 29 Jumbo 4 70 所以用一个数组 Lidl Aldi 它会给我总
  • 当鼠标悬停在文本中的单词上时显示警报

    我已经为此苦苦挣扎了几天 我需要有人引导我走向正确的方向 我一直在网上搜索 我不确定我是否采取了正确的方法 我需要的是 每次有人将鼠标悬停在特定关键字上时 它都应该显示一个警报框 在这个例子中 这个词是 else 当我运行代码时 它不会给出
  • 如何在 Heroku 上使用本地 gem?

    我的 RoR 应用程序上有 gem 声明性授权的修改版本 它位于vendor gems declarative authorization下 我的 gemfile 有 gem declarative authorization 0 5 5
  • 如何在 Javascript 中使用递归函数时读取对象的属性?

    我想知道是否有人能指出我在这方面的正确方向 当我有一个对象时 我通常通过 FOR IN LOOP 读取它的属性 因为我知道属性是什么 因为我创建了这个对象 所以我知道键及其值是什么 我想知道是否还有其他方法 例如递归方法 来读取对象及其属性
  • 将字符串百分比转换为浮点数的干净方法是什么?

    我查看了标准库和 StackOverflow 但没有找到类似的问题 那么 有没有办法在不滚动我自己的函数的情况下执行以下操作 如果有人在没有内置方法的情况下编写出漂亮的函数 则会获得奖励积分 def stringPercentToFloat
  • 给Redis缓存添加过期时间

    我在我的 C 项目中实现了 Redis 缓存 我只是想知道如何才能超载Get
  • node.js 使 HTTP 服务器的请求和响应全局化?

    我刚刚开始使用 Node js 并运行了http nodebeginner org index html 很棒的入门教程 但我真的想知道是否可以将请求和响应设置为 全局 以便为当前传入请求加载的任何模块都可以访问这些 而不是注入 Ideas
  • 如何使用一个输入控件应用多个 ng-pattern

    我正在尝试使用 Angularjs 验证文本框中的邮政编码和电话号码 但这不起作用
  • 如何将 ImageSource 转换为 byte[] 并返回 ImageSource?

    我需要从用户那里获得图像文件路径并将图像存储在我的 SQL Server 数据库中 我从用户那里获取文件并使用该方法转换为 byte public static byte ImageToByteArray BitmapSource bitm