What it lacks in efficiency, it makes up for in efficiency! [Silverlight-ready PNG encoder implementation shows one way to use .NET IEnumerables effectively]

This blog has moved to a new location and comments have been disabled.

All old posts, new posts, and comments can be found on The blog of dlaa.me.

See you there!

Comments (4)
  1. slyi says:

    Could this fast enough be used for web cam streaming together with a fast compression library like http://www.quicklz.com?

  2. David Anson says:


    That sure would be interesting to try! Computationally, I don't think there are a lot of high-level inefficiencies in my PngEncoder, though I'd need to do some profiling to be sure. What might hurt it are some of the levels of enumerator layering (in some cases there's an enumerator on an enumerator on an enumerator), but most of that stuff should be pretty small and insignificant. If you try this, I'd love to hear what you find! 🙂

  3. Morten Nielsen says:

    Is there something I'm missing? I get weird image random outputs (changes every time I run it, even though the image input doesn't change). The unit tests "RandomImages" and "NotEnoughPixels" provided in the unit tests are failling too.

  4. David Anson says:

    Morten Nielsen,

    I just did a clean download/unpack of the ZIP on two different machines; all unit tests passed on both machines multiple times in a row. Additionally, the extracted code matches what's in my source control repository. Is there any chance one of the files might have been changed on your end? Or are you running on a beta build of .NET, maybe?

Comments are closed.

Skip to main content