void CRenderClip::GenerateRoundClip(HDC hDC, RECT rc, RECT rcItem, int width, int height, CRenderClip& clip)
{
RECT rcClip = { 0 };
::GetClipBox(hDC, &rcClip);
clip.hOldRgn = ::CreateRectRgnIndirect(&rcClip);
clip.hRgn = ::CreateRectRgnIndirect(&rc);
HRGN hRgnItem = ::CreateRoundRectRgn(rcItem.left, rcItem.top, rcItem.right + 1, rcItem.bottom + 1, width, height);
::CombineRgn(clip.hRgn, clip.hRgn, hRgnItem, RGN_AND);
::ExtSelectClipRgn(hDC, clip.hRgn, RGN_AND);
clip.hDC = hDC;
clip.rcItem = rc;
::DeleteObject(hRgnItem);
}
这个函数里应该是用GDI实现的一个圆角半径区域剪裁,怎么用GDI+实现,去除锯齿呢?
DuiLib界面库中控件圆角半径有锯齿,怎么使用GDI+改善啊?
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
2条回答 默认 最新
- threenewbee 2016-07-11 20:27关注
dc->SetSmoothingMode(Gdiplus::SmoothingModeHighQuality);
http://blog.csdn.net/pjl1119/article/details/17349049本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥15 如何解决ldsc的这条报错/index error
- ¥15 VS2022+WDK驱动开发环境
- ¥30 关于#java#的问题,请各位专家解答!
- ¥30 vue+element根据数据循环生成多个table,如何实现最后一列 平均分合并
- ¥20 pcf8563时钟芯片不启振
- ¥20 pip2.40更新pip2.43时报错
- ¥15 换yum源但仍然用不了httpd
- ¥50 C# 使用DEVMOD设置打印机首选项
- ¥15 麒麟V10 arm安装gdal
- ¥20 OPENVPN连接问题