ComponentOne Bitmap for UWP
Quick Start

The quick start guide familiarizes you with loading an image in Bitmap. You begin with creating a UWP application in Visual Studio, adding C1.UWP.Bitmap reference (dll), Image control, and a button to load an image from stream in C1Bitmap object.

To create a simple UWP application for loading an image in C1Bitmap object, follow these steps:

  1. Setting up the Application
  2. Loading an Image into C1Bitmap

The following image shows how the application displays an image loaded from a stream into C1Bitmap:

Setting up the Application

To set up the application, follow these steps:

  1. Create a new project and select Blank App (Universal Windows) in Visual Studio.
  2. Add the following references to the application.
    • C1.UWP.Bitmap
    • C1.UWP.DX
  3. In the Solution Explorer, right click your project name and select Add | New Folder. Name the newly added folder. In our case, we have named the new folder as Resources.
  4. Add a sample image to the Resources folder and set its Build Action property to Embedded Resource from the Properties window.
  5. Add a standard Button control for loading a sample image and Image control, named img, for displaying the sample image.
  6. Set the Content property of the button as Load Image.
Back to Top

Loading an Image into C1Bitmap

To load the image in C1Bitmap, follow these steps:

  1. Switch to the code view and add the following import statements in the code.
    Imports C1.Xaml.Bitmap
    Imports System.Reflection
    Imports Windows.Graphics.Imaging
    
    using C1.Xaml.Bitmap;
    using System.Reflection;
    using System.Threading.Tasks;
    using Windows.Graphics.Imaging;
    using Windows.UI.Xaml.Media.Imaging;
    
  2. Create the following class objects.
    Dim btmp As C1Bitmap
    Dim sb As SoftwareBitmap
    Dim sbs As SoftwareBitmapSource
    
    C1Bitmap btmp;
    SoftwareBitmap sb;
    SoftwareBitmapSource sbs;
    
  3. Add the following code in the class constructor to initialize bitmap and SoftwareBitmapSource.
    btmp = New C1Bitmap()
    sbs = New SoftwareBitmapSource()
    
    btmp = new C1Bitmap();
    sbs = new SoftwareBitmapSource();
    
  4. Add the following code to the btnLoad_Click event to load the image in C1Bitmap using stream:
    Dim asm As Assembly = GetType(MainPage).GetTypeInfo().Assembly
    Using stream As Stream = asm.GetManifestResourceStream("BitmapUWP_VB.GrapeCity.jpg")
        btmp.Load(stream, New FormatConverter(PixelFormat.Format32bppPBGRA))
    End Using
    Await UpdateImageSource()
    
    Assembly asm = typeof(MainPage).GetTypeInfo().Assembly;
    using (Stream stream = asm.GetManifestResourceStream("BitmapUWP.Resources.GrapeCity.jpg"))
    {
        btmp.Load(stream, new FormatConverter(PixelFormat.Format32bppPBGRA));
    }
    await UpdateImageSource();
    
    Note: To call an asynchronous method on an event, we have used async keyword and await operator.
  5. Create a method, named UpdateImageSource, to create a SoftwareBitmap, set the source SoftwareBitmap and assign it to the image source:
    Private Async Function UpdateImageSource() As Task
        sb = btmp.ToSoftwareBitmap()
        Await sbs.SetBitmapAsync(sb)
        img.Source = sbs
    End Function
    
    private async Task UpdateImageSource()
    {
        sb = btmp.ToSoftwareBitmap();
        await sbs.SetBitmapAsync(sb);
        img.Source = sbs;
    }
    
Back to Top
See Also