【问题标题】:Getting .png pixel data in Silverlight在 Silverlight 中获取 .png 像素数据
【发布时间】:2010-09-22 18:44:57
【问题描述】:

我们有一个 Silverlight 应用程序,它需要加载许多 .png 文件。我们可以正常加载图片,但是 Silverlight 不支持从 Image 类中读取像素数据。

谁能提出一个简单的解决方案来获取这些数据?我们目前最好的选择是第三方 .png 加载库,但我们很难找到合适的。

【问题讨论】:

    标签: silverlight png silverlight-2.0


    【解决方案1】:

    在 Silverlight 中没有用于进行基于像素的图像操作/生成的内置类。您需要实现自己的 PNG 编码器/解码器,该编码器/解码器适用于包含图像信息的字节数组。 Joe Stegman 已经实现了一个这样的编码器,你应该看看。他在http://blogs.msdn.com/jstegman/ 上获得了有关 Silverlight 中“可编辑图像”的大量重要信息。他会做一些事情,比如对图像应用滤镜、生成 mandlebrots 等等。

    此博客讨论可用于调整和重新压缩照片客户端大小的 JPEG Silverilght 编码器 (FJCore):http://fluxcapacity.net/2008/07/14/fjcore-to-the-rescue/

    另一个工具是“Fluxify”,它允许您使用 Silverilght 2 调整和上传照片的大小。可以在 http://fluxtools.net/ 找到。

    所以是的,客户端图像处理绝对可以在 Silverilght 2 中完成。祝黑客愉快!

    【讨论】:

      【解决方案2】:

      PNG 解码很难找到。

      我为 MSDN 写了一篇文章,其中包含一些我从 Joe Stegman、FluxCapacity 和其他一些人那里拼凑起来的开源代码。它包括 PNG 解码(以及 GIF、JPG 和 BMP),供本线程中正在寻找它的人使用。

      http://www.microsoft.com/youshapeit/msdn/ExpertKnowledge/2008-10/InnovateWithSilverlight2.aspx

      如果您不关心我对 Silverlight 的实现,那么您可以直接查看我为 PNG 解码所做的修改:http://sourceforge.net/projects/pr2/

      干杯!

      更新:看起来他们不再在网站上提供源代码,所以我在这里重新发布了内容: http://dimebrain.com/2009/01/innovate-with-silverlight-2-article-code-available.html

      【讨论】:

      • 您好,您文章的链接已失效。我还能找到其他位置吗?谢谢。
      • 您好,现在更新了。看起来它很快就进入了存档存储桶。
      【解决方案3】:

      谢谢 - 我看过 Joe Stegman 的博客。很方便,但是他没有的解码器是PNG的。我们正在使用 PNG,因为我们需要透明度。 Fluxtools 链接似乎也被破坏了。

      我仍在寻找(未成功)可以放入 Silverlight 的 PNG 解码器。

      【讨论】:

        【解决方案4】:

        一个可能(取决于具体情况)更容易的选项是分别保存颜色数据和透明度数据,然后在加载图像后以编程方式将透明度应用于图像。这样,您可以将图像保存为代表 Alpha 通道的 8 位 gif,以及用于颜色数据的 jpg 或 bmp 或其他任何内容。

        【讨论】:

          【解决方案5】:

          Dimebrain - 您提供的那个 msdn 链接没有指向源代码的有效链接 - 您是否有可能获得指向有效源代码的链接?

          【讨论】:

            猜你喜欢
            • 2014-03-19
            • 2013-10-12
            • 1970-01-01
            • 2014-12-14
            • 2014-07-16
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2013-09-02
            相关资源
            最近更新 更多