locked
Online Photo Book Software RRS feed

  • Question

  •  The following text was translated with google: :-)

    Hello,
    I want to create an online photo book software in Silverlight, and I have some questions. I hope you can help me.

    Application:
    The client selected images with the help of OpenFileDialog from his hdd.
    Then I want to give the client the ability to move these images into a panel, and possibly
    Insert text. Finally, the photo book is uploaded to the server.

    I want to make something like the Application on www.artscow.com.

    I think this application stores the images in isolated storage.



    How to work in Silverlight best with many great pictures around (30-80 images, total 50-300MB)?
    After the client has OpenFileDialogausgewählt with his photos, the images should be transferred to the server?
    Or should I save the images in isolated storage? But then the 1MB is not enough :-(

    I don't need the images on the server because:
    To upload the photo book to the server, I am only aware of the possibility that I am using WriteableBitmap and take a screenshot
    of the UI element, and then upload it to the server.

    Perhaps you have one or the other idea to programming such an application.

    Thursday, February 4, 2010 12:27 PM

All replies

  • To import images to the application, you can use either the Drag and Drop functionality in SL4 Beta or the OpenFileDialog in SL3.  Both scenarios give you access to the file stream which is used by your application.  You can render out an Image based on the file stream.

    OpenFileDialog ofd = new OpenFileDialog();
    ofd.Filter = "Image Files (*.jpg; *.png)|*.jpg; *.png";
    
    bool? result = ofd.ShowDialog();
    
    if (result == true)
    {
        try
        {
            Stream stream = ofd.File.OpenRead();
            BitmapImage bi = new BitmapImage();
            bi.SetSource(stream);
            image.Source = bi;
            stream.Close();
        }
        catch (Exception exc) { }
    }
     

     

    Here is a SL4 Beta example on the ability to drag the image from the user's machine to the application:

    http://www.silverlighttoys.com/Samples/SL4/ShaderSandbox/

    Thursday, February 4, 2010 12:34 PM
  •  Is it best to Drag&Drop 300MB into the application and then work with this data?

    Where this data is then stored? In Cache or Memory?

    Thursday, February 4, 2010 1:14 PM
  • When I Drag&Drop 20 Files (35MB) into the application http://www.silverlighttoys.com/Samples/SL4/ShaderSandbox/, the swap file is growing up from 1GB to 2GB and then my browser crashes. :-)


    Thursday, February 4, 2010 2:10 PM
  • Great test.  I only tested with about 12MB of images, which worked fine. Probably need to consider a friendly way to alert the user on the limitation.

    Thursday, February 4, 2010 3:07 PM
  • 35MB is not much for a photobook. I think there must be another way, but what? I would like to limit the size of the images on 100-200MB.

    Thursday, February 4, 2010 4:36 PM
  •  I think I will do the following:

    1. resize and compress images by the client with FJCore
    2. upload the smaller images
    3. turn around and download that images and display
    4. now the client can drag & drop, rotate, do pixel shader
    5. make screenshots of each UI Element (photo book page) with writeablebitmap and upload to the server
    6. on the server: create the photobook (i.e pdf file) of the screenshots

    Is it a good or bad idea?

    For a better alternative I would be very grateful

    Thursday, February 4, 2010 11:12 PM