win32 gdiplus 加载LoadImgFile,怎么样才能是透明的
时间: 2023-12-10 20:41:49 浏览: 65
GDIplus加载PNG图片实现透明效果
5星 · 资源好评率100%
要让加载的图片具有透明度,需要在创建 Gdiplus::Image 对象时指定背景色为透明色。以下是一个示例代码:
```
Gdiplus::Image* pImage = Gdiplus::Image::FromFile(L"test.png");
if (pImage)
{
// 获取图片的宽度和高度
int nWidth = pImage->GetWidth();
int nHeight = pImage->GetHeight();
// 创建一个 Gdiplus::Bitmap 对象,指定背景色为透明色
Gdiplus::Bitmap bmp(nWidth, nHeight, PixelFormat32bppARGB);
Gdiplus::Graphics graphics(&bmp);
graphics.Clear(Gdiplus::Color(0, 0, 0, 0)); // 将背景色设置为透明色
// 将原始图片绘制到 Bitmap 中
graphics.DrawImage(pImage, 0, 0, nWidth, nHeight);
// 使用处理后的 Bitmap 进行后续操作
delete pImage;
}
```
在上面的代码中,我们先通过 Gdiplus::Image::FromFile 函数加载了一张图片,并获取了它的宽度和高度。然后,我们创建了一个 Gdiplus::Bitmap 对象,指定了宽度、高度和像素格式(PixelFormat32bppARGB)。接着,我们调用 Gdiplus::Graphics 对象的 Clear 函数将背景色设置为透明色。最后,我们将原始图片绘制到 Bitmap 中,并使用处理后的 Bitmap 进行后续操作。
阅读全文