引路蜂二维图形库支持矢量字体,包括中文和英文。对于Silverlight应用,由于访问权限的问题,字库一般需作为资源文件包含在应用中,对于英文字体不是个大问题,而对于中文字库,GB2312字库文件最小也要4M以上,所以尽量是用同一字体。引路蜂二维图形库绘制文字时是采用的矢量字库。也可以对文字内部进行填充。文字方向可以从左到右,从上到下,从右到左。
字体下载链接如下表:
字体 | 大小 | 下载 |
Arial | 34K | Download |
Courier New | 50K | Download |
Elephant | 52K | Download |
Impact | 34K | Download |
Georgia | 53K | Download |
Rockwell | 35K | Download |
Times New Roman | 44K | Download |
Microsoft Sans Serif | 29K | Download |
Verdana | 36K | Download |
幼圆 | 5128K | Download |
新魏 | 15874K | Download |
新宋体 | 5740K | Download |
行楷 | 13588K | Download |
宋体 | 5740K | Download |
隶书 | 7083K | Download |
仿宋 | 8104K | Download |
黑体 | 6108K | Download |
下例使用行楷显示“引路蜂软件”。
- private void FontDemo()
- {
- TextureBrush brush1;
- BitmapImage img = new BitmapImage();
- img.CreateOptions = BitmapCreateOptions.None;
- string path = "/SilverlightGraphics2DDemo;component/brick.png";
- Stream s = Application.GetResourceStream
- (new Uri(path, UriKind.Relative)).Stream;
- img.SetSource(s);
- WriteableBitmap writeableBitmap = new WriteableBitmap(img);
- brush1 = new TextureBrush(writeableBitmap.Pixels,
- img.PixelWidth, img.PixelHeight);
- Pen pen = new Pen(Color.Blue, 1);
- path = "/SilverlightGraphics2DDemo;component/xingkai.fon";
- int fontSize = 100;
- s = Application.GetResourceStream
- (new Uri(path, UriKind.Relative)).Stream;
- s.Seek(0, SeekOrigin.Begin);
- //Clear the canvas with white color.
- graphics2D.Clear(Color.White);
- char[] longLine = null;
- FontEx font = new FontEx(s);
- string guidebee = "引路蜂软件";
- longLine = guidebee.ToCharArray();
- graphics2D.SetPenAndBrush(pen,brush1);
- graphics2D.DrawChars(font, fontSize, longLine, 0, longLine.Length,
- (screenWidth - fontSize) / 2, 20, FontEx.TextDirTb);
- int offset = 20;
- for (int i = 1; i < 4;i++ )
- {
- fontSize=100-i*20;
- offset += fontSize+5;
- graphics2D.DrawChars(font, fontSize, longLine, 0,
- longLine.Length, (screenWidth - fontSize) / 2 - offset,
- 20, FontEx.TextDirTb);
- graphics2D.DrawChars(font, fontSize, longLine, 0,
- longLine.Length, (screenWidth - fontSize) / 2 + offset,
- 20, FontEx.TextDirTb);
- }
- }
除了外挂字体外,引路蜂二维图形库自带了一个英文字库可以通过FontEx.GetSystemFont()取得。此外上述.fon 字体格式为引路蜂自定义,内部使用SVG来描述字体。和Windows中的字体格式不一致。