要想靈活的顯示各種字型(包括中文或其它國家語言文字),還是需要WPF提供的字型顯示功能(曾打算把WPF中的文字顯示子產品移植到TinyGUI庫中,發現相關内容太多,即使移植成功,TinyGUI也不是輕量級圖庫了)。
![](https://img.laitimes.com/img/9ZDMuAjOiMmIsIjOiQnIsIiZpdmLQ9WbaFDM5kDM1kTOyEzXw8CX38CXzATMxAjMvw1ckF2bsBXdvwFdl5mLuR2cj5Set1yZtl2Lc9CX6MHc0RHaiojIsJye.gif)
字庫生成後,就可以進行程式設計測試了,核心代碼如下:
internal sealed class WindowsDrawing : Window
{
public override void OnRender(DrawingContext dc)
{
Color c = ColorUtility.ColorFromRGB(128, 0, 255);
Brush b = new SolidColorBrush(c);
Pen p = new Pen(c);
//繪制背景(繪矩形)
dc.DrawRectangle(b, p, 0, 0, Width, Height);
//寫文字
c = ColorUtility.ColorFromRGB(0, 255, 255);
dc.DrawText("葉帆工作室[YFSoft]", Resources.GetFont(Resources.FontResources.S_9), c, 5, 5);
c = Colors.Black;
dc.DrawText("葉帆工作室[YFSoft]", Resources.GetFont(Resources.FontResources.z_12), c, 5, 25);
c = Colors.Red;
dc.DrawText("葉帆工作室[YFSoft]", Resources.GetFont(Resources.FontResources.MS_16), c, 5, 45);
c = Colors.Green;
dc.DrawText("葉帆工作室[YFSoft]", Resources.GetFont(Resources.FontResources.l_24), c, 5, 65);
c = Colors.White;
dc.DrawText("葉帆工作室[YFSoft]", Resources.GetFont(Resources.FontResources.hp_28), c, 5, 95);
}
}
部署到開發闆中的效果如下:
需要注意的是,開發闆必須部署專屬的WPF固件(文末已附相關連結),此外由于開發闆上的SRAM有限,雖然支援了WPF,但是對一些記憶體需求比較大的應用程式,還是無法正常運作的。
QQ群:127465602