Click here to Skip to main content
65,938 articles
CodeProject is changing. Read more.
Articles
(untagged)

How to save Bitmaps from a VB PocketPC application

0.00/5 (No votes)
15 Aug 2004 1  
How to save Bitmaps from Pocket PC applications using VB.

Introduction

There are a number of useful functions that are missing in the .NET Framework CE. To make the most of the limited resources on mobile devices only subset of the .NET Framework have been included. The Save and FromFile functions are missing. There are 2 good examples how to do this in C# but I have not found any examples how to do this in VB. Therefore this article describes how to save and Load Bitmaps in VB.NET on a Pocket PC.

Method 1: Using the MS C# Code in VB as a Subproject

There are a number of features in C# that are not so easily converted to VB. So rather than translate everything into VB and have 2 versions to control I have just included the C# example from Microsoft as a sub project. This is done by following this recipe:

  1. Open the VB Pocket PC that requires the Bitmap functions
  2. Right mouse click on the Solution and select Add then Existing project

  3. Select the ImageEditor.csdproj
  4. Right mouse click on the Image Editor subproject and select properties
  5. Change Output Type to Class Library

  6. Right mouse click on the Image Editor and Build
  7. Click on the References folder of the VB project and Add Reference

  8. In the form where you would like to save the bitmap add
    Imports ImageEditor
            

    To save the bitmap

    SaveFileDialog1.Filter = "Bitmap files (*.bmp)|*.bmp"
       If SaveFileDialog1.ShowDialog() = DialogResult.OK Then
          Me.pDrawWindow.Refresh()
          ImageEditor.BitmapFile.SaveToFile(Me.pDrawWindow, 
    SaveFileDialog1.FileName, 16, Me.bitmap.Width, Me.bitmap.Height)
       End If
              

    To load the bitmap

    OpenFileDialog1.Filter = "Bitmap files (*.bmp)|*.bmp"
       If OpenFileDialog1.ShowDialog() = DialogResult.OK Then
          Application.DoEvents()
    
          Cursor.Current = Cursors.WaitCursor
          Dim s As Stream = File.OpenRead(OpenFileDialog1.FileName)
          Me.bitmap = New Bitmap(s)
          s.Close()
    
          Me.pDrawWindow.Invalidate()
          Cursor.Current = Cursors.Default
    
       End If
              

Method 2: Write the Bitmap file structure directly from VB

This method is really slow and I would not recommend that this be used. I have included it because it shows the performance benefits of using P/Invoke in the previous examples. This based on a C# example from an example from here

License

This article has no explicit license attached to it but may contain usage terms in the article text or the download files themselves. If in doubt please contact the author via the discussion board below.

A list of licenses authors might use can be found here