Tag: 字体

获取已安装的字体作为列表

有没有办法我可以获得已安装的字体作为列表(或数组,但我更喜欢List)。 所以就像将所有已安装的字体排列到列表中的方法一样。 到目前为止,我创造了这个 List fonts = new List(); fonts.AddRange() //I don’t know what to put in those brackets to obtain fonts. 有人可以提供更好的方法吗?

为什么不能将任何字体保存为图像? (但要在我的窗体上显示)

我有点困惑,因为我可以在我的窗体上显示每个字符串的每个字符,但作为图像,它并不总是可能的。 也许我的代码有问题。 但是,让我告诉你我在尝试什么。 起初我有这个: Label l = new Label(); l.Text = “Ì CSharp Δ; this.Font = new Font(“Code 128”, 80); l.Size = new System.Drawing.Size(300, 200); this.Controls.Add(l); this.Size = new Size(300, 200); 嗯这很好。 现在我想尝试使用与image相同的字体保存相同的字符串。 我找到了这段代码,我认为这是怎么做到的 private static Image DrawText(string text, Font font, Color textColor, Color backColor) { //first, create a dummy bitmap just to get a […]

从字符串名称返回FontStyle

我想写一个函数,它将返回FontStyle并将字符串作为参数 FontStyle f = function (“Italic”); // FontStyles.Italic 我不想写Switch case或if else语句来做同样的事情。 它可以用不区分大小写的字符串吗? FontStyle f = function (“italic”); FontStyle f = function (“itAlic”); 应该返回相同。

解析字体信息并将其转换为System.Drawing.Font

我有一个文本文件,其中包含如下字体信息: Arial,12.5 …我需要将这些信息读入label.Font像这样: label.Font = new Font(fontNameFields [0],Single.Parse(fontNameFields [1])); …但我总是得到以下错误: 指数数组的边界之外。 有人可以帮我这个吗? 谢谢杰森。 我有以下代码: MatchCollection lines = Regex.Matches(File.ReadAllText(Path), @”(.+?)\r\n””([^””]+)””\r\n(\d+), (\d+)”); foreach (Match match in lines) { string control = match.Groups[1].Value; string text = match.Groups[2].Value; int x = Int32.Parse(match.Groups[3].Value); int y = Int32.Parse(match.Groups[4].Value); String cfont = match.Groups[5].Value; String fontName = cfont; String[] fontNameFields = fontName.Split(‘,’); label.Font […]

字符转换为位图图像C#

我需要一个字符串数组,例如: a[] = {A,B,C,…,Z}然后从数组中随机选择一个字母并从其上应用windows目录中的字体,然后渲染具有特定宽度和高度的位图图像forms的特定字母(例如,在我的表单中的图像框中将其显示为位图图像)。

如何获取某个UTF-8语言组中的所有字符?

我不知道确切的技术术语,但UTF-8作为标准包括来自某些语言分组的字符,可以在Windows 字符映射中使用类似Arial Unicode MS的字体观察。 拉丁 西里尔 希腊语 希伯来语 阿拉伯 天城文 Gujrati 卡纳达语 老挝 平假名 货币符号 盒子图纸 如何获取每组下的字符列表? 这可能是一个API,或者只是网上某处的普通列表/ DB。 我找到了列出所有内容的wiki文章 ,但没有列出可迭代的forms。 有任何想法吗?

在C#winform中,我得到了:“只支持truetype字体。 这不是TrueType字体“

我有C#winform,我安装了几个ttf字体,但是当我将文本框字体设置为我下载的任何一个时,我得到这个错误即使我100%确定我安装的字体是ttf ..为什么? 以及如何解决这个问题?

字体渲染与字形信息

我调用“GetCharABCWidthsFloatW”来获取字符的宽度信息。 有了这个,我将获得左侧轴承,右侧轴承和先进的宽度。 为了定位每个字符,我将从一个从零开始的“xPlacement”变量开始。 我将首先通过减去“左侧轴承”来调整xPlacement变量。 绘制完角色后,我会按角色的宽度前进(我稍后会显示计算结果)。 然后,我将通过添加当前“xPlacement”中的“右侧方位”信息来移动xPlacement变量。 在我看来,这应该是字符放置的代码,对吗? 重要的是纠正字符的宽度。 宽度将通过采用advancedWidth,左侧轴承的POSITIVE版本和右侧轴承的POSITIVE版本来计算。 我会将这些值转换为正数,如果它们是负数,那么我可以得到该字符的总宽度。 这是一些关于如何生成的伪代码。 float xPlacement = 0.0f; for(int i = 0; i < strlen(text); ++i) { char charValue = text[i]; GetCharWidthABC(.., .., charInfo); float posLeft = charInfo.leftSideBearing; if(charInfo.leftSideBearing < 0) posLeft = -charInfo.leftSideBearing; float posRight = charInfo.rightSideBearing; if(posRight < 0) posRight = -charInfo.rightSideBearing; float posWidth = posRight […]

C# – 如何在不将其安装到系统中的情况下使用自定义字体

我再次需要你的帮助。 我正在使用自定义Font在C#上开发一个小应用程序。 问题是,字体必须先安装在系统上。 如果系统中没有该字体,则只使用Times New Roman。 有没有办法在应用程序中嵌入字体文件,因此不需要在每个系统中安装? 谢谢。

使用自定义TTF字体进行DrawString图像渲染

我在服务器端使用GDI +创建一个流式传输到用户浏览器的图像。 没有标准字体符合我的要求,因此我想加载TrueType字体并使用此字体将我的字符串绘制到图形对象: using (var backgroundImage = new Bitmap(backgroundPath)) using (var avatarImage = new Bitmap(avatarPath)) using (var myFont = new Font(“myCustom”, 8f)) { Graphics canvas = Graphics.FromImage(backgroundImage); canvas.DrawImage(avatarImage, new Point(0, 0)); canvas.DrawString(username, myFont, new SolidBrush(Color.Black), new PointF(5, 5)); return new Bitmap(backgroundImage); } myCustom表示服务器上未安装的字体,但我有TTF文件。 如何加载TTF文件以便我可以在GDI +字符串渲染中使用它?