1
イメージングAPIを使用して、イメージングビルトインサイズ変更関数を使用して基本的にリスケーリング関数を記述しています。IImage * from IBitmapImage *
私はここに再スケール機能プロトだ、*それはイメージで構成されますことを、カスタムUBitmapクラスを養うためにリサイズ機能付きのポインタを必要とする:
int Rescale(const UBitmap* src, UBitmap* dst, UINT w, UINT h)
My機能は、DSTポインタのヒープを割り当て(呼び出し側はありませんただそれを解放する必要があります)。
// Get the IImage ptr from the source
HRESULT hr;
CoInitializeEx(NULL, COINIT_MULTITHREADED);
IImage* img_in = src->GetIImage();
if (img_in)
{
IImagingFactory* pImgf = NULL;
hr = CoCreateInstance(CLSID_ImagingFactory, 0, CLSCTX_ALL,
IID_IImagingFactory, void**)&pImgf);
assert(SUCCEEDED(hr));
IBitmapImage* pIResBmp = NULL;
hr = pImgf->CreateBitmapFromImage(img_in,w,h, PixelFormatDontCare,
InterpolationHintBilinear, &pIResBmp);
assert(SUCCEEDED(hr));
IImage* pImgOut = NULL; // How to obtain IImage pointer from pIResBmp?
bmpOut = new UBitmap(dst);
pImgf->Release();
}
CoUninitialize();
だから私は正常pImg-> CreateBitmapFromImageコールで画像を再スケーリングしましたが、私はUBitmapを養うためにIImage *を取得する方法がわからない:私はこれまで何をやったか
コンストラクタ。
THanks in advance。