GpiPlus 在c语言中裁剪圆形的头像
时间: 2023-07-02 16:04:04 浏览: 121
GdiPlus 是一个Windows平台下的绘图API,可以使用它来进行各种图形绘制操作,包括裁剪圆形的头像。下面是一个简单的示例代码:
```c
#include <windows.h>
#include <gdiplus.h>
#pragma comment(lib, "gdiplus.lib")
void DrawCircleImage(HDC hdc, WCHAR* imagePath, int x, int y, int width, int height)
{
Gdiplus::Graphics graphics(hdc);
Gdiplus::Rect rect(x, y, width, height);
Gdiplus::Image image(imagePath);
Gdiplus::GraphicsPath path;
path.AddEllipse(rect);
graphics.SetClip(&path);
graphics.DrawImage(&image, rect);
}
int main()
{
Gdiplus::GdiplusStartupInput gdiplusStartupInput;
ULONG_PTR gdiplusToken;
Gdiplus::GdiplusStartup(&gdiplusToken, &gdiplusStartupInput, NULL);
HWND hWnd = GetForegroundWindow();
HDC hdc = GetDC(hWnd);
WCHAR* imagePath = L"avatar.jpg";
int x = 100, y = 100, width = 200, height = 200;
DrawCircleImage(hdc, imagePath, x, y, width, height);
ReleaseDC(hWnd, hdc);
Gdiplus::GdiplusShutdown(gdiplusToken);
return 0;
}
```
这个示例代码使用了 Gdiplus 库来加载一张图片,然后使用 GraphicsPath 来创建一个圆形的路径,再使用 SetClip 方法将这个路径设置为绘图区域的剪切区域,最后调用 DrawImage 方法将图片绘制在这个圆形区域内。执行该代码后,会在屏幕上显示出一个裁剪成圆形的头像。
阅读全文