fonts – 从Font中提取几何
发布时间:2020-12-15 00:52:35 所属栏目:Java 来源:网络整理
导读:我希望能够在TrueType字体文件中提取每个字母的几何.每个字母都有一组坐标,假设每个字母都在自己的网格中. 如图所示,千言万语 – 我想获得与下图相似的字母顶点(由http://polymaps.org/提供) 更新 由于提示使用GDI,现在已经将其集成到.NET System.Drawing.Dr
我希望能够在TrueType字体文件中提取每个字母的几何.每个字母都有一组坐标,假设每个字母都在自己的网格中.
如图所示,千言万语 – 我想获得与下图相似的字母顶点(由http://polymaps.org/提供) 更新 由于提示使用GDI,现在已经将其集成到.NET System.Drawing.Drawing2D中,我获得了以下代码来创建WKT多边形.没有bezier曲线可能.即使在翻转和旋转字母后,某些路径仍然无法正确连接. // C# Visual Studio GraphicsPath gp = new GraphicsPath(); Point origin = new Point(0,0); StringFormat format = new StringFormat(); FontFamily ff = new FontFamily("Arial"); //enter letter here gp.AddString("T",ff,12,origin,format); //ABCDEFGHIJKLMNOPQRSTUVWXYZ StringBuilder sb = new StringBuilder(); sb.AppendLine("DECLARE @g geometry;"); sb.Append("SET @g = geometry::STGeomFromText('POLYGON (("); Matrix flipmatrix = new Matrix(-1,1,0); gp.Transform(flipmatrix); Matrix rotationtransform = new Matrix(); RectangleF r = gp.GetBounds(); // Get center point PointF rotationPoint = new PointF(r.Left + (r.Width / 2),r.Top + (r.Height / 2)); rotationtransform.RotateAt(180,rotationPoint); gp.Transform(rotationtransform); //gp.CloseAllFigures(); //make sure the polygon is closed - does not work foreach (PointF pt in gp.PathData.Points) { sb.AppendFormat("{0} {1},",pt.X,pt.Y); } PointF firstpoint = gp.PathData.Points[0]; sb.AppendFormat("{0} {1}",firstpoint.X,firstpoint.Y); //make last point same as first sb.Append("))',0);"); sb.AppendLine(""); sb.AppendLine("SELECT @g"); System.Diagnostics.Debug.WriteLine(sb.ToString()); 解决方法
对于Windows,您可以使用Gdiplus.创建一个
GraphicsPath并在其上调用AddString().
然后检查PathData或PathPoints. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- Apache Commons Math3探索之多项式曲线拟合实现代码
- java – 如何从我的Android应用程序通过WhatsApp向特定联系
- 对java中的语句使用或“|”运算符
- 当指定类型时,javac“使用未经检查或不安全的操作”
- jsp和servlet中实现页面跳转的方式实例总结
- java – Primefaces UI:重复不工作
- java – ThreadLocalRandom与共享静态随机实例性能比较测试
- 在Java中,如何使用ServiceLoader模拟加载的服务?
- java – Spring Boot JAR – 缺少EmbeddedServletContainer
- java – 无法转换泛型集?
推荐文章
站长推荐
热点阅读