- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试加载自定义字体(ttf 文件)并使用 Graphics 对象绘制到图像中。此代码在本地运行良好:
PrivateFontCollection fonts = new PrivateFontCollection();
string path = context.Server.MapPath("~/App_Data/Futura LT Bold.ttf");
if (!System.IO.File.Exists(path))
{
throw new InvalidOperationException("Font file is not deployed: " + path);
}
fonts.AddFontFile(path);
然而,当在 appharbor 上运行时,对 AddFontFile 的调用失败并出现以下异常:
System.ArgumentException: Font 'Futura LT Book' does not support style 'Regular'.
at System.Drawing.Font.CreateNativeFont()
at System.Drawing.Font.Initialize(FontFamily family, Single emSize, FontStyle style, GraphicsUnit unit, Byte gdiCharSet, Boolean gdiVerticalFont)
at System.Drawing.Font..ctor(FontFamily family, Single emSize)
at LumenboxWeb.Controllers.GalleryController.FontTest() in d:\temp\h5oqslma.udd\input\src\LumenboxWeb\Controllers\GalleryController.cs:line 59
at lambda_method(Closure , ControllerBase , Object[] )
at System.Web.Mvc.ActionMethodDispatcher.Execute(ControllerBase controller, Object[] parameters)
at System.Web.Mvc.ReflectedActionDescriptor.Execute(ControllerContext controllerContext, IDictionary`2 parameters)
我尝试了不同的字体,它们都在本地工作,但在 appharbor 上没有一个工作。
是否可以在appharbor上动态加载字体?
最佳答案
string path = context.Server.MapPath("~/App_Data/Futura LT Bold.ttf");
fonts.AddFontFile(path);
您可以从 .ttf 名称中看出为什么会抛出异常。请注意文件名中的“粗体”。这使得您可以使用 FontStyle = Regular 创建该字体实例的可能性相当低。但很有可能 FontStyle = Bold 会起作用。
一种字体通常有多个 .ttf 文件,每个文件对应一个FontStyle。如果您有其他文件,您还必须添加这些文件。
关于c# - PrivateFontCollection 在 appharbor 上失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13627943/
我正在尝试将应用程序从传统 ASP.NET 移植到 Azure,但遇到了字体问题。有一个组件可以渲染图像,并在其上以特定的非标准字体绘制文本(我们称该字体为“Water”)。 Water 以多个不同的
我正在使用 PrivateFontCollection 在我的网络服务器上安装上传的字体。下面的代码有效,但在第二次上传字体时,PrivateFontCollection 引用上传的第一个字体。所以有
我已将 MemoryStream 加载到 PrivateFontCollection 并打印 Font-Family 计数。 我已经完成了 10 次这些过程,并且我希望每次迭代都获得相同的输出。我想要
我在将字体从资源加载到 PrivateFontCollection 时遇到一些困难。 当我开始这个时,我成功地从文件中加载了字体,但是我希望将字体嵌入到我的项目中(这样用户端的文件困惑就会减少,应用程
这是 Loading a font from resources into PrivateFontCollection results in corruption 的延续 提供的答案 here对于具有
我有一个返回 PrivateFontCollection 的函数: Public Shared Function GetCustomFonts() As PrivateFontCollection
我正在尝试加载自定义字体(ttf 文件)并使用 Graphics 对象绘制到图像中。此代码在本地运行良好: PrivateFontCollection fonts = new PrivateFontC
当我在 Mono.net 中调用 PrivateFontCollection.AddFontFile 方法时,它总是返回标准字体系列。这个错误已经在几个网站上报告过,但据我所知没有办法解决它。该错误本
我们创建了大量的字体供短期使用。字体嵌入在文档中。如果不再使用,我想删除字体文件。我们应该怎么做?以下简化代码不起作用: PrivateFontCollection pfc = new Private
我正在尝试编写一个 Web 应用程序,该应用程序应该获取字体链接,并返回以发送的字体格式编写的内容的图像。 我正在打开一个读取字体文件的流,并将文件的 InPtr 发送到 PrivateFontCol
按照此演练,展示如何使用字体而无需在 C++ 中安装它:http://www.codeproject.com/Articles/42041/How-to-Use-a-Font-Without-Inst
每个人,我都在使用 GDI+ 以我自己的字体呈现文本,但在使用成员函数 AddFontFile(WCHAR*) 时,我总是得到错误状态 InvalidParameter PrivateFontColl
我有一个 .NET 3.5 应用程序,它使用 PrivateFontCollection.AddMemoryFont 将字体加载到内存中,并使用这些来生成图像。我最近在 Windows Server
我是一名优秀的程序员,十分优秀!