資源繪製32位的alpha通道我有乘以預先的圖像,並使用CDC::AlphaBlend
方法顯示某些圖像(BMP的alpha通道信息32位)的遺留應用MCF。使用的Direct2D
我想向大家介紹使用Direct2D的一些新的圖形,但我不希望遷移的所有圖像,PNG等格式。
我設法從文件中得出一個BMP圖像,但我面臨的問題,以獲得從資源圖像,並顯示圖像不使用alpha通道信息。
所以可能有人幫助我嗎?
這是我的代碼來創建位圖:
hr = pIWICFactory->CreateDecoderFromFilename( L"D:\\image.bmp",
NULL,
GENERIC_READ,
WICDecodeMetadataCacheOnDemand,
&pDecoder);
if (SUCCEEDED(hr))
{
// Create the initial frame.
hr = pDecoder->GetFrame(0, &pSource);
}
if (SUCCEEDED(hr))
{
//create a Direct2D bitmap from the WIC bitmap.
hr = pRenderTarget->CreateBitmapFromWicBitmap(
pSource,
NULL,
ppBitmap
);
}
這是代碼繪製位圖:
m_pRenderTarget->DrawBitmap(
m_pBitmap,
D2D1::RectF(0.0f, 0.0f, size.width, size.height)
);
謝謝您的重播。我會盡快嘗試(比現在調查更優先考慮的事情)。無論如何,現在當我從文件中打開位圖時,alpha通道的問題並沒有被「尊重」......所以我懷疑它是在打開使用流的時候。 – 2012-03-16 08:10:58