首页
学习
活动
专区
圈层
工具
发布

dotnet C# 使用 FreeType 读取和绘制字体

本文将和大家介绍在 C# 里面简单使用 SharpFont 对 FreeType 的封装,读取 ttf 等字体文件信息,绘制出某个文字到图片文件 由于本文使用的 SharpFont 库已经很久没有维护了...,本文的例子里面使用的 .NET 框架就退回到 .NET Framework 4.7.2 版本。...字在字体文件里面的索引 接下来为了将字体加载到 slot 里面,需要先设置一点必要的初始化参数 // 设置字体大小,修复 SharpFont.FreeTypeException:“FreeType...SetDllDirectory(string path); } } 尝试运行代码,可以看到运行之后输出了 1.png 文件,用图片查看器打开可以看到里面绘制出了字符 本文代码放在 github 和...gitee 上,可以使用如下命令行拉取代码 先创建一个空文件夹,接着使用命令行 cd 命令进入此空文件夹,在命令行里面输入以下代码,即可获取到本文的代码 git init git remote add

1.1K10

Avalonia 已知问题 使用 RenderTargetBitmap 截图文本模糊

本文记录 Avalonia 的一个已知问题,使用 RenderTargetBitmap 进行截图时,如果顶层子控件没有设置背景色或背景色是透明色,则截图保存出来的图片里面的文本字符串都是模糊的 此问题能够在...Avalonia 的 11.0-11.3.2 版本复现,更低版本我就没有测试了 出现问题的表现的截图界面图片的文本模糊如下图所示 在 Avalonia 里,使用 RenderTargetBitmap...对控件进行截图,如果控件的顶层子控件没有背景色,则会截图出一张文本是模糊的图片。...下次使用 TakeSnapshotButton 按钮截图时,依然文本模糊 RootGrid.Background = Brushes.Transparent; }...1.png 里面的文本都是模糊的,如上图所示 而 2.png 里面的文本是清晰的,如下图所示。

21410
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    使用 OpenCV 和 Python 模糊和匿名化人脸

    方法 首先,我们使用内置的人脸检测算法,从实时视频或图像中检测人脸。在这里,我们将使用级联分类器方法从实时视频(使用网络摄像头)中检测人脸。 然后,读取来自实时视频的帧。...但是,我们希望检测到的人脸是模糊的,所以我们使用中值模糊函数来做同样的事情,并提到应该模糊人脸的区域。...而且,现在我们想要显示模糊的脸,使用 imshow 函数读取的帧,我们希望它被显示,直到我们按下一个键。 分步实施: 步骤 1: 导入人脸检测算法,称为级联分类器。...)是模糊的。...# 在视频中显示模糊的脸 cv2.imshow('face blurred', frame) key = cv2.waitKey(1) 复制代码 下面是完整的实现: import cv2 # 检测人脸

    1.4K20

    OpenGL ES 文字渲染

    [OpenGL ES 文字渲染方式有几种?] 在音视频或 OpenGL 开发中,文字渲染是一个高频使用的功能,比如制作一些酷炫的字幕、为视频添加水印、设置特殊字体等等。...实际上 OpenGL 并没有定义渲染文字的方式,所以我们最能想到的办法是:将带有文字的图像上传到纹理,然后进行纹理贴图。 本文分别介绍下在应用层和 C++ 层常用的文字渲染方式。...[OpenGL ES 文字渲染] 基于 Canvas 绘制生成 Bitmap 在应用层实现文字渲染主要是利用 Canvas 将文本绘制成 Bitmap ,然后生成一张小图,然后在渲染的时候进行贴图。...最后,使用完 FreeType 记得释放相关资源: FT_Done_Face(face); FT_Done_FreeType(ft); OpenGL 文字渲染 按照前面的思路,使用 FreeType 加载字形的位图然后生成纹理...once we're finished FT_Done_Face(face); FT_Done_FreeType(ft); } 针对 OpenGL ES 灰度图要使用的纹理格式是 GL_LUMINANCE

    2.2K70

    使用 OpenCV 和 Python 模糊和匿名化人脸

    在本文中,我们将了解如何使用 OpenCV 和 Python 模糊和匿名化人脸。 为此,我们将使用级联分类器来检测人脸。...在这里,我们将使用级联分类器方法从实时视频(使用网络摄像头)中检测人脸。 然后,读取来自实时视频的帧。存储最新的帧并转换为灰度,以更好地理解特征。...但是,我们希望检测到的人脸是模糊的,所以我们使用中值模糊函数来做同样的事情,并提到应该模糊人脸的区域。...最后,我们想要显示模糊的脸,使用 imshow 函数读取的帧,我们希望它被显示,直到我们按下一个键。 分步实施: 步骤 1: 导入人脸检测算法,称为级联分类器。...# 模糊矩形中的人脸 image[y:y+h, x:x+w] = cv2.medianBlur(image[y:y+h, x:x+w], 35) 步骤 6: 显示最终输出,即检测到的人脸(矩形内)是模糊的

    1.2K41

    matlab模糊控制工具箱使用和模糊控制pid实例参考

    之前写的内容,最近咨询这方面的粉丝较多,故在分析一下 、模糊控制工具箱使用 首先我们在Matlab的命令窗口中输入fuzzy,回车就会出来这样一个窗口。...下面我们都是在这样一个窗口中进行模糊控制器的设计。 1)确定模糊控制器结构:即根据具体的系统确定输入、输出量。 这里我们可以选取标准的二维控制结构,即输入为误差e和误差变化ec,输出为控制量u。...相应的模糊量为E,EC和U,我们可以选择增加输入(Add Variable)来实现双入单出控制结构。 2)输入输出变量的模糊化:即把输入输出的精确量转化为对应语言变量的模糊集合。...6)simulink中使用fis文件,首先加入fuzzy模块,然后写入模糊文件,注意应用格式加单引号: 'fuzzpid.fis' 2、模糊控制pid实例 模糊PID控制,即利用模糊逻辑并根据一定的模糊规则对...小车通过传感器采集赛道信息,确定当前距赛道中线的偏差E以及当前偏差和上次偏差的变化ec,根据给定的模糊规则进行模糊推理,最后对模糊参数进行解模糊,输出PID控制参数。

    3.7K11

    OpenGL 中的颜色混合和使用

    但和肉眼观察不同的是,OpenGL 里最终呈现的颜色,是将两个片元混合之后计算的值,我们可以改变这片元混合的方式,这就和前面 Android 里面提到的 PorterDuffXfermode 混合模式一样...由于 OpenGL 中每个颜色值包括 4 个色彩通道,因此,两种混子因子都有 4 个分量值,分别对应一个色彩通道,具体混合计算细节如下: 设源因子和目标因子分别为 ?...,modeAlpha 参数的含义是颜色的 Alpha 透明度通道进行混合时所使用的混合方程式名字,通过其可以实现 RGB 和 Alpha 通道单独指定混合方程式的功能 源因子和目标因子 对于颜色混合来说...当然,还可以使用另外一种混合因子组合 GL_SRC_ALPHA 和 GL_ONE_MINUS_SRC_ALPHA,根据源因子的透明度来设置混合因子。...关于如何使用 GL_SRC_ALPHA 和 GL_ONE_MINUS_SRC_ALPHA 混合因子,可以参考之前的文章 用 OpenGL 对视频帧内容进行替换,大概原理都一样的,就是图片换成带透明度的,

    3.1K11

    OpenGL ES 文字渲染方式有几种?

    在音视频或 OpenGL 开发中,文字渲染是一个高频使用的功能,比如制作一些酷炫的字幕、为视频添加水印、设置特殊字体等等。...实际上 OpenGL 并没有定义渲染文字的方式,所以我们最能想到的办法是:将带有文字的图像上传到纹理,然后进行纹理贴图。 本文分别介绍下在应用层和 C++ 层常用的文字渲染方式。 ?...使用 FreeType 加载的字形位图并不像我们使用位图字体那样持有相同的尺寸大小。使用FreeType生产的字形位图的大小是恰好能包含这个字形的尺寸。例如生产用于表示 '.'...最后,使用完 FreeType 记得释放相关资源: FT_Done_Face(face); FT_Done_FreeType(ft); OpenGL 文字渲染 按照前面的思路,使用 FreeType...once we're finished FT_Done_Face(face); FT_Done_FreeType(ft); } 针对 OpenGL ES 灰度图要使用的纹理格式是

    2.7K31

    使用Mongo Connector和Elasticsearch实现模糊匹配

    我从2013年11月开始使用Mongo连接器,期间得到了MongoDB Python团队的帮助,我非常兴奋地说它的功能和稳定性已经取得了很大进步。...在这篇文章的结尾,我们还展示如何对流入Elasticsearch中的数据实现文本查询的模糊匹配。 获取数据集 这篇文章,我们会来到一个流行的链接聚合网站Reddit。...你可以使用下面的命令从 MongoDB 复制到Elasticsearch。 ? 当然,如果只想在post标题和内容中进行文本搜索,我们可以使用Elasticsearch的字段选项来限制字段。...弹性的搜索 现在,我们准备使用Elasticsearch在我们的数据集上实现模糊匹配查询,因为它来自于MongoDB。由于我们直接从Reddit的网站输出内容,因此根本无法预测从数据集中获得的结果。...由于我们正在进行一个模糊搜索,我们甚至可以搜索一个并不存在的词,例如kiten。由于大多数人根本不注重他们的拼写,它可以直接实现搜索用户随意输入的文本,至此,你可以想象这个功能是多么地强大。

    2.5K50

    matlab模糊控制工具箱使用和模糊控制pid实例参考(二)

    接着昨天的内容 2、模糊控制pid实例 模糊PID控制,即利用模糊逻辑并根据一定的模糊规则对PID的参数进行实时的优化,以克服传统PID参数无法实时调整PID参数的缺点。...模糊PID控制包括模糊化,确定模糊规则,解模糊等组成部分。...小车通过传感器采集赛道信息,确定当前距赛道中线的偏差E以及当前偏差和上次偏差的变化ec,根据给定的模糊规则进行模糊推理,最后对模糊参数进行解模糊,输出PID控制参数。...输出变量KI的隶属函数 确定了输入和输出隶属函数后,在模糊规则编辑器中,输入表格中的模糊推理规则,共49条,如下图 模糊推理编辑器 此时得到的三参数的变化如下图 模糊推理KP变化图 模糊推理KI...变化图 模糊推理KD变化图 运行仿真得到结果

    1.1K40

    matlab模糊控制工具箱使用和模糊控制pid实例参考(一)

    1、模糊控制工具箱使用 首先我们在Matlab的命令窗口中输入fuzzy,回车就会出来这样一个窗口。 下面我们都是在这样一个窗口中进行模糊控制器的设计。...1)确定模糊控制器结构:即根据具体的系统确定输入、输出量。 这里我们可以选取标准的二维控制结构,即输入为误差e和误差变化ec,输出为控制量u。注意这里的变量还都是精确量。...相应的模糊量为E,EC和U,我们可以选择增加输入(Add Variable)来实现双入单出控制结构。 2)输入输出变量的模糊化:即把输入输出的精确量转化为对应语言变量的模糊集合。...3)模糊推理决策算法设计:即根据模糊控制规则进行模糊推理,并决策出模糊输出量。 制定完之后,会形成一个模糊控制规则矩阵,然后根据模糊输入量按照相应的模糊推理算法完成计算,并决策出模糊输出量。...6)simulink中使用fis文件,首先加入fuzzy模块,然后写入模糊文件,注意应用格式加单引号: 'fuzzpid.fis'

    2.8K30

    OpenGL ES 文字渲染进阶--渲染中文字体

    [OpenGL ES 文字渲染进阶--渲染中文字体] 旧文 OpenGL ES 文字渲染方式有几种? 一文中分别介绍了 OpenGL 利用 Canvas 和 FreeType 绘制文字的方法。...[渲染中文字体] 利用 Canvas 绘制中文字体和绘制其他字体在操作方式上没有区别,但是使用 FreeType 绘制中文字体,在编码方式、加载方式以及字体属性上面会有一些坑要踩,这里本人已经踩过,将在本文中分享给各位读者大人...FreeType 官网地址: https://www.freetype.org/ 关于 FreeType 开源库多个平台的编译方法,同样请参考旧文 OpenGL ES 文字渲染方式有几种?...使用 FreeType 渲染中文和英文字符在流程上基本一致,都是根据字符的编码值来加载位图,然后上传纹理。...值得反复强调的地方,针对 OpenGL ES 灰度图要使用的纹理格式是 GL_LUMINANCE 而不是 GL_RED 。

    1.7K20

    Flutter的文本、图片和按钮使用

    作为UI框架,与Android、iOS和React类似,Flutter也提供很多UI控件。而文本、图片和按钮则是这些不同UI框架中构建视图都要用到的最基本控件。...Text支持两种类型文本展示: 默认的展示单一样式的文本Text 支持多种混合样式的富文本Text.rich 1.1 使用单一样式的文本Text 单一样式文本Text的初始化,要传入需展示的字符串。...这和Android中ImageView、iOS里的UIImageView的属性都类似。可参考官方文档中的 Image的构造函数 部分,去查看Image控件具体使用方法。...展示效果: 4 总结 UI控件是构建一个视图的基本元素,而文本、图片和按钮则是其中最经典的控件。...首先,认识支持单一样式和混合样式两种类型文本展示控件Text: 通过TextStyle控制字符串的展示样式,其他参数控制文本布局,实现单一样式文本展示 通过TextSpan将字符串分割为若干片段,对每个片段单独设置样式后组装

    2.5K20

    使用Jackalope在Windows和macOS上进行黑盒模糊测试

    Jackalope Jackalope是一个可定制的、分布式的、基于覆盖率引导的模糊测试工具,该工具能够以黑盒测试的方式处理二进制文件,并且支持Windows和macOS操作系统。...虽然社区现在已经有很多优秀的基于覆盖率引导模糊测试工具,可以在获取到源代码的基础上进行安全审计和分析。但是基于黑盒测试的工具相对较少,尤其是针对Windows和macOS操作系统的工具。...跨多台设备的话,可以使用“-start_server”命令行参数来将一台主机以服务器运行,然后让运行模糊测试工具的工作机器使用“-server”命令连接至这台服务器。...需要重写的方法如下: CreateMutator():针对模糊测试工具创建变异器配置。 OutputFilter():可以在将样本传递给目标之前修改样本,例如修复Header或校验和。...CreateInstrumentation():重写以控制模糊测试工具使用自定义指令。 CreatePRNG():重写以使用自定义PRNG。 项目地址 Jackalope:【点击底部阅读原文获取】

    1.8K11

    OpenGL ES 文字渲染进阶--渲染中文字体

    旧文 OpenGL ES 文字渲染方式有几种? 一文中分别介绍了 OpenGL 利用 Canvas 和 FreeType 绘制文字的方法。...渲染中文字体 利用 Canvas 绘制中文字体和绘制其他字体在操作方式上没有区别,但是使用 FreeType 绘制中文字体,在编码方式、加载方式以及字体属性上面会有一些坑要踩,这里本人已经踩过,将在本文中分享给各位读者大人...FreeType 官网地址: https://www.freetype.org/ 关于 FreeType 开源库多个平台的编译方法,同样请参考旧文 OpenGL ES 文字渲染方式有几种?...使用 FreeType 渲染中文和英文字符在流程上基本一致,都是根据字符的编码值来加载位图,然后上传纹理。...值得反复强调的地方,针对 OpenGL ES 灰度图要使用的纹理格式是 GL_LUMINANCE 而不是 GL_RED 。

    2.3K20

    文生图文字模糊怎么办 | AnyText解决文生图中文字模糊问题,完成视觉文本生成和编辑

    尽管当前合成图像的技术非常先进,能够生成具有高保真度的图像,但当关注生成图像中的文本区域时,合成文本通常包含模糊、不可读或错误字符,使得视觉文本生成成为该领域最具挑战性的问题之一。...AnyText包括一个扩散管道,其主要包含两个元素: 辅助潜在模块 文本嵌入模块 前者使用文本的字符、位置和掩码图像等输入来为文本生成或编辑生成潜在特征。...为了将图像条件集成进来,作者使用字符块和位置块对字符 l_{g} 和位置 l_{p} 进行下采样,并使用VAE编码器 \varepsilon 对遮罩图像 l_{m} 进行下采样。...这些图像涵盖了包含文本的多样化场景,包括街道视图、书籍封面、广告、海报、电影帧等。除了OCR数据集,其中注释信息直接使用外,其他所有图像都使用PP-OCRv3的检测和识别模型进行处理。...请参阅附录A.3节进行详细统计分析和随机选择的示例图像。 对于AnyText-benchmark,作者使用了三个评估指标来评估文本生成的准确性和质量。首先,作者采用了句子准确性(Sen.

    1.6K60

    freetype的交叉编译及在嵌入式linux上的简单使用及改变字体背景和颜色

    FreeType库是高度模块化的程序库,虽然它是使用ANSI C开发,但是采用面向对象的思想,因此,FreeType的用户可以灵活地对它进行裁剪。...关于freetype的详细信息可以参考freetype的官方网站:https://www.freetype.org/来获取更多相关的信息。...以往单片机中使用中文字库时,免不了需要制作各种字体大小的字模。且有的制作的效果不是很好,需要多大的字体需要提前备好。如果能用上FreeType,这些都不是问题了,且还能各种的变换。...freetype源码下载地址: freetype官网 freetype2.8.1下载 交叉编译步骤: tar zxvf freetype-2.8.1.tar.gz cd freetype-2.8.1/...接下来测试下在嵌入式linux上的简单使用,图像显示使用linux上的fb0: 大体使用步骤: int main() { FT_Library library; FT_Face face; FT_Error

    6.2K10

    使用AFL++-QEMU和libprotobuf进行高级二进制模糊测试——语法感知+内存持久模糊测试的实例

    此外,针对QEMU模式,可以配置不同的环境比那里来优化模糊测试的性能和覆盖率。...,但在达到模糊函数之前,我们的目标仍然会执行一些不必要的操作,尤其是打开和读取由模糊器生成的文件的内容。...然而,对于这个例子,我们还决定使用高度结构化的数据格式为输入进行模糊测试。 在这种情况下,引入新的方式来改变输入数据可能会很有趣。 确实,AFL++的另一个可调节的方面是生成和变异逻辑。...然而,您无需在使用自定义变异器和使用默认的AFL++变异器之间做出选择:通过运行多个模糊测试实例,您可以兼得两者的优点,我们将在下一步中讨论这个问题。...当运行多个模糊测试实例时,可以通过并行使用各种策略和配置来优化覆盖率。然而,由于该页面主要针对源代码可用的模糊目标,因此对于仅有二进制代码的模糊测试,需要进行一些调整。

    1.1K00
    领券