请问Direct2D能在RenderTarget中Clear一个PathGeometry吗?

solomonlxd 2018-08-07 11:43:33
就像Gdi+中用一个GraphicsPath来SetClip,然后Clear一样。可是RenderTarget的PushAxisAlignedClip只能设置矩形区域。
...全文
297 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
IONPhantom 2018-11-09
  • 打赏
  • 举报
回复
Clear只能是矩形
solomonlxd 2018-08-13
  • 打赏
  • 举报
回复
引用 9 楼 WJN92 的回复:
[quote=引用 8 楼 solomonlxd 的回复:]
[quote=引用 7 楼 WJN92 的回复:]
d2d 不是有fillgeometry吗?

并不是要fill,是要Clear,Fill只能将一个颜色跟rt中原来的颜色进行融合,clear是要用新的颜色去覆盖原来的颜色,包括alpha通道[/quote]


把alpha设置成1.0不就可以了吗?[/quote]

因为要做分层窗口,底色需要透明,必须能用任意alpha的颜色来clear
WJN92 2018-08-08
  • 打赏
  • 举报
回复
引用 8 楼 solomonlxd 的回复:
[quote=引用 7 楼 WJN92 的回复:]
d2d 不是有fillgeometry吗?

并不是要fill,是要Clear,Fill只能将一个颜色跟rt中原来的颜色进行融合,clear是要用新的颜色去覆盖原来的颜色,包括alpha通道[/quote]

把alpha设置成1.0不就可以了吗?
solomonlxd 2018-08-08
  • 打赏
  • 举报
回复
引用 7 楼 WJN92 的回复:
d2d 不是有fillgeometry吗?

并不是要fill,是要Clear,Fill只能将一个颜色跟rt中原来的颜色进行融合,clear是要用新的颜色去覆盖原来的颜色,包括alpha通道
WJN92 2018-08-08
  • 打赏
  • 举报
回复
d2d 不是有fillgeometry吗?
oblivi 2018-08-07
  • 打赏
  • 举报
回复
没太懂你的意思,你具体想实现一个什么功能
solomonlxd 2018-08-07
  • 打赏
  • 举报
回复
引用 5 楼 oblivi 的回复:
Direct2D中没有直接填充Region那种,你可以用GDI或者GDI+先把图形绘制好,再把DC传过来
	HDC hdc = GetDC(hWnd);
HDC memDC = CreateCompatibleDC(hdc);
.....memDC...do something....
ID2D1DCRenderTarget *g_pDCRT;
g_pDCRT->BindDC(memDC, &CRect(.....));

谢谢,D2D和gdi/gid+混合编程我是知道的,确实可以做到gdi/gdi+能做到的一切,但是用D2D就是为了享受硬件加速,这个帖子我想知道的就是用D2D本身是否能做到
oblivi 2018-08-07
  • 打赏
  • 举报
回复
Direct2D中没有直接填充Region那种,你可以用GDI或者GDI+先把图形绘制好,再把DC传过来
	HDC hdc = GetDC(hWnd);
HDC memDC = CreateCompatibleDC(hdc);
.....memDC...do something....
ID2D1DCRenderTarget *g_pDCRT;
g_pDCRT->BindDC(memDC, &CRect(.....));
赵4老师 2018-08-07
  • 打赏
  • 举报
回复
相机空间是一个四棱台。
赵4老师 2018-08-07
  • 打赏
  • 举报
回复
三维任意形状布尔运算参考AutoCAD或3DS Max Studio或Maya或……流行3D软件自带的相关功能。
solomonlxd 2018-08-07
  • 打赏
  • 举报
回复
引用 1 楼 oblivi 的回复:
没太懂你的意思,你具体想实现一个什么功能

就是生成一个Geometry,然后Clear这个Geometry记录的区域,说简单点就是Clear一个指定的任意形状的区域

19,468

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 图形处理/算法
社区管理员
  • 图形处理/算法社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧