gpt4 book ai didi

WPF - HitTest 渲染的字符像素

转载 作者:行者123 更新时间:2023-12-01 13:03:26 26 4
gpt4 key购买 nike

有没有办法在wpf中 HitTest 字符的像素?我希望能够命中字符“i”的点,但是当我单击点和“i”行之间的空格时不会命中。我尝试使用 DrawingContext.DrawText 方法来完成此操作,但是当我使用 VisualTreeHelper.HitTest 方法针对包含文本的生成的 DrawingVisual 进行测试时,它不会区分字符的空格和黑色像素。它会命中字符边界框中的每个点。有没有办法做到这一点?

最佳答案

我找到了解决方案。为此,您必须转到较低级别的 GlyphRunDrawing。使用代码 here并将 GeometryDrawing 替换为 GlyphRunDrawing。然后获取GeometryGroup,其中包含每个字符作为Geometry,并使用代码进行 HitTest :

GeometryGroup ggroup = (GeometryGroup)((GlyphRunDrawing)drawing).GlyphRun.BuildGeometry();
if(ggroup.FillContains(pt))
{
Debug.WriteLine("Contains point " + pt.ToString());
}

关于WPF - HitTest 渲染的字符像素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4412802/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com