Loading Bitmaps from file

Started by
0 comments, last by pCebrian 11 years, 2 months ago

Hello everyone,

I'm trying to load a bitmap following the msdn examples but seems that I'm doing something wrong when call the CreateDecoderFromFileName method.


ID2D1Bitmap *myBitmap = NULL;
hr = LoadBitmapFromFile(pRT, pWICFactory, L".\\biglokeseal_paint.png", 0, 0, &myBitmap);


HRESULT LoadBitmapFromFile(ID2D1RenderTarget *pRenderTarget, IWICImagingFactory *pIWICFactory, PCWSTR uri, UINT destinationWidth, UINT destinationHeight, ID2D1Bitmap **ppBitmap)
{
    IWICBitmapDecoder *pDecoder = NULL;
    IWICBitmapFrameDecode *pSource = NULL;
    IWICStream *pStream = NULL;
    IWICFormatConverter *pConverter = NULL;
    IWICBitmapScaler *pScaler = NULL;

    HRSRC imageResHandle = NULL;
    HGLOBAL imageResDataHandle = NULL;
    void *pImageFile = NULL;
    DWORD imageFileSize = 0;


    HRESULT hr = pIWICFactory->CreateDecoderFromFilename(uri, NULL, GENERIC_READ, WICDecodeMetadataCacheOnLoad, &pDecoder);

//...
}

Maybe the uri parameter it's wrong? I put the image file on resource files tree, I have to copy that somewhere else (on the project directory)?

*I'm using VisualStudio

I attached you the full project code here: http://pastebin.com/FiwRMNXr

Sorry for my english (i'm from spain) and Thanks!

Advertisement

Okay, I saw that the pointer to WIC Factory that I pass to the function is null.

Doesn't should that initialize the pointer?


        IWICImagingFactory *pWICFactory = NULL;
	if(SUCCEEDED(hr))
	{
		hr = CoCreateInstance(CLSID_WICImagingFactory, NULL, CLSCTX_INPROC_SERVER, IID_PPV_ARGS(&pWICFactory));
	}

What else I have to do?

Thanks!

This topic is closed to new replies.

Advertisement