How do I use OLE Picture objects with .NET?

Applies to: XpdfViewer, XpdfRasterizer, XpdfImageExtract

Several of the Xpdf components include functions which return OLE Picture objects (the IPicture interface). These can be used in .NET applications, with just a little extra work.

The key is to use .NET's FromHbitmap method to convert the OLE Picture object to a .NET Bitmap object. For example, to use XpdfRasterizer's convertPageToPicture function from VB.net:

Dim pic as stdole.IPicture ... ' convert page 1 to an OLE Picture pic = rast.convertPageToPicture(1, 125, rast.imageRGB) ' convert the OLE Picture to a .NET Bitmap, and hand it to ' the PictureBox picBox.Image = Bitmap.FromHbitmap(New IntPtr(pic.Handle))

This applies to the following functions: