ネイティブ C++ で GDI+ メソッド MakeTransparent を使用できますか?

GDI+ の MakeTransparent メソッドを利用することで、ネイティブ C++ で透過効果を表現することができます。以下は、GDI+ を利用したサンプルコードです。

#include <Windows.h>
#include <gdiplus.h>
using namespace Gdiplus;
int main()
{
// 初始化GDI+
GdiplusStartupInput gdiplusStartupInput;
ULONG_PTR gdiplusToken;
GdiplusStartup(&gdiplusToken, &gdiplusStartupInput, NULL);
// 加载图像
Bitmap bitmap(L"image.png");
// 创建图形对象
Graphics graphics(GetDC(NULL));
// 将图像绘制到屏幕上,并设置透明效果
graphics.DrawImage(&bitmap, 0, 0);
bitmap.MakeTransparent(Color::White);
// 清理GDI+
GdiplusShutdown(gdiplusToken);
return 0;
}

イメージ(image.png)を読み込んで画面上に表示し、MakeTransparentメソッドで白色を透過させる簡単なサンプルコードです。必要に応じて改造・応用してください。

bannerAds