Search code examples
c#imagemicrosoft-metro

Set image coordinates programmatically


Rather than declaring an image and setting the source from the xaml file, can someone do the initialization part, set the image coordinates, and set the source completely in the code?


Solution

  • // Create Image Element
    Image myImage = new Image();
    myImage.Width = 200;
    
    // Create source
    BitmapImage myBitmapImage = new BitmapImage();
    
    // BitmapImage.UriSource must be in a BeginInit/EndInit block
    myBitmapImage.BeginInit();
    myBitmapImage.UriSource = new Uri(@"C:\Documents and Settings\All Users\Documents\My Pictures\Sample Pictures\Water Lilies.jpg");
    
    // To save significant application memory, set the DecodePixelWidth or   
    // DecodePixelHeight of the BitmapImage value of the image source to the desired  
    // height or width of the rendered image. If you don't do this, the application will  
    // cache the image as though it were rendered as its normal size rather then just  
    // the size that is displayed. 
    // Note: In order to preserve aspect ratio, set DecodePixelWidth 
    // or DecodePixelHeight but not both.
    myBitmapImage.DecodePixelWidth = 200;
    myBitmapImage.EndInit();
    //set image source
    myImage.Source = myBitmapImage;