Windows phone 7画图画字

  类似Google Maps中矢量地图的绘制,路名、公园名等是在类似画布Canvas的容器上绘制文字,文字绘制分为两种,一种为矢量,一种为像素矩阵;在Silverlight中可以理解为矢量字体,在XNA中可理解为象素矩阵字体(矢量字体转换为像素矩阵),在此讨论Silverlight中的字体绘制。

1.使用TextBlock,在此不做讨论;主要讨论使用Glyphs适用于类似矢量地图绘制路名、公园名等的场景;

2.使用Glyphs,大致使用过程如下

Glyphs glyphs = new Glyphs();
glyphs.Fill = new SolidColorBrush(color);  //文字绘制使用的笔刷、颜色
glyphs.FontSource = fontSouce;  // 文字字体
glyphs.FontRenderingEmSize = fontSize; //字体大小
glyphs.UnicodeString = "公园名";  //绘制的文字
glyphs.OriginX = 100; //绘制文字在画布上的位置
glyphs.OriginY = 100; 

canvas.Children.Add(glyphs); //作为控件加入画布

  上述Glyphs的使用中发现两个问题,请大家讨论指教:

1.大量Glyphs作为控件加入canvas,导致布局、控件大小计算频繁,效率较低,用户响应慢;

2.文字的美观--描边,我没有找到方法。

  读者有解决类似问题的经验、方法、疑问,欢迎在此讨论...

原文地址:https://www.cnblogs.com/toven/p/2267239.html