[英]Getting .png pixel data in Silverlight
我们有一个Silverlight应用程序,需要加载许多.png文件。 我们可以很好地加载图像,但是Silverlight不支持从Image类读取像素数据。
谁能建议一种简单的解决方案来获取此数据? 我们目前最好的选择是第三方.png加载库,但是我们很难找到合适的库。
没有内置的类可用于在Silverlight中进行基于像素的想象操作/生成。 您需要实现自己的PNG编码器/解码器,它可以在包含图像信息的字节数组上工作。 Joe Stegman已经实现了一种这样的编码器,您应该检查一下。 在http://blogs.msdn.com/jstegman/上,他在Silverlight中获得了许多有关“可编辑图像”的重要信息。 他的工作包括对图像应用滤镜,生成手铐等等。
该博客讨论了JPEG Silverilght编码器(FJCore),您可以使用它来调整和重新压缩照片客户端的大小: http : //fluxcapacity.net/2008/07/14/fjcore-to-the-rescue/
另一个工具是“ Fluxify”,它使您可以使用Silverilght 2调整大小和上传照片。可以在http://fluxtools.net/找到。
因此,可以肯定,客户端图像处理可以绝对在Silverilght 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的
谢谢-我看过Joe Stegman博客。 这很方便,但是他没有的解码器是PNG。 我们正在使用PNG,因为我们需要透明性。 fluxtools链接似乎也已损坏。
我仍在(未成功)寻找可以放入Silverlight的PNG解码器。
一种可能更容易(取决于情况)的选项是分别保存颜色数据和透明度数据,然后在加载图像后以编程方式将透明度应用于图像。 这样,您可以将图像另存为表示Alpha通道的8位gif,外加jpg或bmp或其他用于颜色数据的图像。
Dimebrain-您提供的msdn链接没有指向源代码的有效链接-您是否有可能链接到有效的源代码?
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.