PicFx – Windows Phone Picture Effects Application – Part 1

Sign in to queue

The Discussion

  • User profile image
    Rene Schulte

    Thanks.

    @Darks1de:

    I usually list only the relevant parts of the code. The full source code on CodePlex is meant as reference.

  • User profile image
    Clint

    @Darks1de The application itself is fully downloadable on Codeplex.  Our articles attempt to show you the math and the "why" along with how to do it.  It becomes extremely unweldy to get every bit of code in a blog post.

  • User profile image
    Darks1de

    One comment, you missed out some of the initial variables (which threw me for a bit),  Need to add the declarations for the PhotoChooser, CameraChooser and Original Image variables.

  • User profile image
    Darks1de

    Fantastic and utterly thorough post, great work.

  • User profile image
    incendy

    Really appreciate this posting, thank you!

  • User profile image
    AEP

    Great stuff, but couldn't it be written as a full tutorial with all code, so we could code along as we read? Would be very helpful Smiley

  • User profile image
    Rene Schulte

    @AEP: Would be too much code listing and not helpful at all and it targets an intermediate audience.

  • User profile image
    Clint

    @max source code is, picfx.codeplex.com/.../changesets

    While you could do a XAP deployment on the emulator or a device, that implies you already have the dev tools installed.  At that point, F5 or a few button clicks, same amount of work.

  • User profile image
    max

    Can you upload a source code because it is not avalable from the link at the top of this post?

    That is what i got from download page

    "download file icon Available Downloads

    There are no downloads associated with this release."

  • User profile image
    Clint

    @DarkThread, neat!

  • User profile image
    Darkthread

    What a good post! It's a pity that I can't testing camera capture on emulator, so here is my little trick (http://bit.ly/dCaKbW , forgive my terrible English Tongue Out) -- connecting PC webcam to WP7 emulator, now PicFx can capture photo from webcam even on emulator.

  • User profile image
    Garry McGlennon

    Great article however you'll find that your assumptions on speed (though correct based on what should happen) are incorrect. It seems that floating point is actually faster than int math on the device! Well an LG at any rate. I've put a small set of numbers together on my blog which you might find interesting.

    dotnetprofessional.com/.../Performance-Optimization-on-Windows-Phone-7.aspx

  • User profile image
    Rene Schulte

    Hi Garry,

    Thanks for the info.

    And you should provide the test code. Performance test are always complicated. Simple divs and muls ops can be optimized by the compiler / runtime / processor. Real world scenarios tend to lead to better results.

    Have you tried it on a more recent build of the tools and an other device? AFAIK the performance was optimized and the LG dev device is really not representative for perf. Smiley

  • User profile image
    Clint

    @Garry McGlennon I think that could all depend on what device you're on.  The LG developer device has some quirks with it.  I think a lot of it depends what processor is actually in the device.

  • User profile image
    Rene Schulte

    Hi Garry,

    I just wrote a quick performance test that applies a Sobel edge detection on a sample image ( en.wikipedia.org/.../Sobel_operator ).

    One implementation uses the naiv approach with floating point kernel operations. The other only uses integer arithmetic.

    I tested it on the LG. The integer implementation is 340% faster than the floating point method.

    This could be different for an other use case, but the problem domain here uses integer math for pixels. Using integer math to solve it, also avoids floating point casts.

  • User profile image
    Darks1de

    XNA version of the project now blogged here

    xna-uk.net/.../pictures-barcodes-and-effects-oh-my.aspx

  • User profile image
    Rene Schulte

    Hi Darks1de,

    Cool stuff. I'm looking forward to a release.

    The next part of the article should be available within the next one or two weeks.

  • User profile image
    Clint

    @Darks1de that is one of the issues working with beta software, stuff changes.  Rene is doing a part 2 of this article which I do know works on RTM tooling.

  • User profile image
    Darks1de

    Be aware, the PicFX project no longer works as expected in the RTM.

    Tombstoning has now changed so the Loaded event no longer works.

    Need to change the Loaded function to use the overloaded "onNavigatedTo" event and call initilize.  then it works again.

  • User profile image
    Catto

    Hey Now René Schulte,

    Stellar Post & app!

    Thx 4 the info,

    Catto

Add Your 2 Cents