首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏字节流动

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

    旧文 OpenGL ES 文字渲染方式有几种? 一文中分别介绍了 OpenGL 利用 Canvas 和 FreeType 绘制文字的方法。 无论采用哪种方式进行渲染,本质上原理都是纹理贴图:将带有文字的图像上传到纹理,然后进行贴图。 ? 渲染文字体 利用 Canvas 绘制中文字体和绘制其他字体在操作方式上没有区别,但是使用 FreeType 绘制中文字体,在编码方式、加载方式以及字体属性上面会有一些坑要踩,这里本人已经踩过,将在本文中分享给各位读者大人 使用 FreeType 渲染中文和英文字符在流程上基本一致,都是根据字符的编码值来加载位图,然后上传纹理。 OpenGL 纹理对应的图像默认要求 4 字节对齐,这里需要设置为 1 ,确保宽度不是 4 倍数的位图(灰度图)能够正常渲染

    2.4K20发布于 2021-07-16
  • 来自专栏字节流动

    OpenGL ES 文字渲染

    [OpenGL ES 文字渲染方式有几种?] 在音视频或 OpenGL 开发中,文字渲染是一个高频使用的功能,比如制作一些酷炫的字幕、为视频添加水印、设置特殊字体等等。 实际上 OpenGL 并没有定义渲染文字的方式,所以我们最能想到的办法是:将带有文字的图像上传到纹理,然后进行纹理贴图。 本文分别介绍下在应用层和 C++ 层常用的文字渲染方式。 [OpenGL ES 文字渲染] 基于 Canvas 绘制生成 Bitmap 在应用层实现文字渲染主要是利用 Canvas 将文本绘制成 Bitmap ,然后生成一张小图,然后在渲染的时候进行贴图。 OpenGL 纹理对应的图像默认要求 4 字节对齐,这里需要设置为 1 ,确保宽度不是 4 倍数的位图(灰度图)能够正常渲染渲染文字使用的 shader : //vertex shader #version 300 es layout(location = 0) in vec4 a_position;// <vec2 pos

    2.3K70发布于 2021-06-24
  • 来自专栏字节流动

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

    [OpenGL ES 文字渲染进阶--渲染文字体] 旧文 OpenGL ES 文字渲染方式有几种? 一文中分别介绍了 OpenGL 利用 Canvas 和 FreeType 绘制文字的方法。 无论采用哪种方式进行渲染,本质上原理都是纹理贴图:将带有文字的图像上传到纹理,然后进行贴图。 [渲染文字体] 利用 Canvas 绘制中文字体和绘制其他字体在操作方式上没有区别,但是使用 FreeType 绘制中文字体,在编码方式、加载方式以及字体属性上面会有一些坑要踩,这里本人已经踩过,将在本文中分享给各位读者大人 使用 FreeType 渲染中文和英文字符在流程上基本一致,都是根据字符的编码值来加载位图,然后上传纹理。 OpenGL 纹理对应的图像默认要求 4 字节对齐,这里需要设置为 1 ,确保宽度不是 4 倍数的位图(灰度图)能够正常渲染

    1.9K20发布于 2021-07-05
  • 来自专栏移动端动态化技术

    Flutter文字渲染模块总结(一)

    1.文字渲染概述 1.1 字体存储 ​ 把文字渲染到屏幕上主要是通过加载字体获得字形(Glyph)纹理,然后通过字体测量计算出字体左上角的位置和宽高,然后再把纹理贴到2D方块中。 这样字形的解析和渲染就会非常耗时,一般都会通过缓存机制进行优化, 比如Skia的文字绘制有两种方式: 文字绘制过程需要将文字解析为路径,然后绘制路径,缓存路径 将文字解析为Mask(32*32的A8图片 比如渲染如下文字 它的方块信息如下所示: 2. Flutter文字渲染模块 Flutter文字渲染相关的模块比较核心的主要有包含两种种类型: 支持混排的富文本RichText 支持编辑的EditableText 2.1 RichText组件 RichText 先看一下其核心模块排版和渲染过程,不过因为EditableText不支持富文本的方式排版,所以其排版过程只是单纯的文字版本,所以只需要关注渲染这一块,当然还有交互。

    1.7K20发布于 2021-11-12
  • 来自专栏字节流动

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

    实际上 OpenGL 并没有定义渲染文字的方式,所以我们最能想到的办法是:将带有文字的图像上传到纹理,然后进行纹理贴图。 本文分别介绍下在应用层和 C++ 层常用的文字渲染方式。 ? OpenGL ES 文字渲染 ? 基于 Canvas 绘制生成 Bitmap 在应用层实现文字渲染主要是利用 Canvas 将文本绘制成 Bitmap ,然后生成一张小图,然后在渲染的时候进行贴图。 FreeType 是一个基于 C 语言实现的用于文字渲染的开源库,它小巧、高效、高度可定制,主要用于加载字体并将其渲染到位图,支持多种字体的相关操作。 OpenGL 纹理对应的图像默认要求 4 字节对齐,这里需要设置为 1 ,确保宽度不是 4 倍数的位图(灰度图)能够正常渲染

    2.8K31发布于 2021-07-16
  • 来自专栏个人博客

    matplotlib中文字渲染 - plus studio

    matplotlib中文字渲染 matplotlib 在画图例的时候不可避免的需要使用中文字体,但是有的时候电脑自带的字体不能渲染中文,这就需要我们自己解决字体问题。 首先用一个代码看一下系统里的字体哪些可以正常渲染文字体 import matplotlib.font_manager as font_manager import matplotlib.pyplot fname='/usr/share/fonts/truetype/liberation/LiberationMono-Bold.ttf') # 绘制散点图 plt.scatter([1,2,3], [4,5,6 以下是一些中文字体的官方下载页面或者信誉良好的资源: 思源宋体(Source Han Serif): 官方GitHub页面: Adobe Fonts 选择您需要的语言子集,例如简体中文(SC),并下载相应的

    65010编辑于 2024-02-29
  • 来自专栏Devops专栏

    4.Gin HTML 模板渲染

    4.Gin HTML 模板渲染 Gin HTML 模板渲染 1. 全部模板放在一个目录里面的配置方法 创建用于渲染的模板html templates/index.html <! : {{.title}} </body> </html> 路由加载模板文件 // 加载模板文件 r.LoadHTMLGlob("templates/*") 渲染模板 // c.HTML 渲染模板 具体语法 如下: 1695821326461 {{/* 保存传入模板的数据 */}} <h4>{{$obj := .title}}</h4> <h4>模板的变量title={{$obj}}</h4> hobby 参数: 1695826334196 {{/* 使用 range 关键字进行遍历 */}} <h4>hobby={{.hobby}}</h4>

      {{range $key title len: {{len .title}}</h4> <h4>title hobby: {{len .hobby}}</h4> <h4>index hobby 2: {{index .hobby

    1.9K20编辑于 2023-11-20
  • 来自专栏黯羽轻扬

    writing mode与4文字系统

    字符方向是说字符指向哪边,输入一个大A(这个指向太明显了,像箭头一样),字符指向页面顶部,但不同语言会指向不同方向 three concepts 图中,块方向从上到下,内联方向从左向右,字符方向是指向页面顶部 三.4文字系统 CSS Writing Mode从设计上满足了4大主要文字系统:拉丁文,阿拉伯文,中文和蒙古文 1.拉丁文系统 世界上最大的文字系统,70%人都用这个。 这样就能根据文字系统定义布局,很容易切换方向。 -ms-flex-align: center; align-items: center; -ms-flex-wrap: nowrap; flex-wrap: nowrap } 4. 蒙古文系统 蒙古文也是一种纵向文字语言,文本在页面上纵向排列,像汉字系统一样。

    2.6K20编辑于 2023-03-15
  • 来自专栏从零开始学自动化测试

    Flask 学习-4.templates 渲染模板

    hello.html 情形 2 : 一个包: /application /__init__.py /templates /hello.html render_template() 渲染模板 使用 render_template() 方法可以渲染模板,您只要提供模板名称和需要 作为参数传递给模板的变量就行了。 下面是一个简单的模板渲染例子: from flask import Flask from flask import render_template app = Flask(__name__) @app.route

    1.1K20编辑于 2022-08-26
  • 来自专栏进阶高级前端工程师

    React源码分析(二)渲染机制4

    到这里,前面的准备工作就做完了, 接下来进入正菜,开始进行循环遍历,生成fiber树和dom树,并最终渲染到页面中。 render阶段这个阶段并不是指把代码渲染到页面上,而是基于我们的代码画出对应的fiber树和dom树。 mutation简单描述mutation阶段的工作就是负责dom渲染。区分fiber.flags,进行不同的操作,比如:重置文本,重置ref,插入,替换,删除dom节点。 setCurrentFiber(nextEffect); // 根据flags分别处理 var flags = nextEffect.flags; // 根据 ContentReset flags重置文字节点 总结看完这篇文章, 我们可以弄明白下面这几个问题:React的渲染流程是怎样的?React的beginWork都做了什么?React的completeWork都做了什么?

    34940编辑于 2023-01-06
  • 来自专栏全栈程序员必看

    图像文字识别(四):java调用tess4j识别图像文字

    而Tess4J则是Tesseract在Java PC上的应用。如果使用Tess4J只需要下载相关Jar包,导入项目,再把项目封装好就可以处处运行了,可移植性比较好。 这篇博客简单记录一下在java中通过调用tess4j的方式识别图片的文字内容。 步骤: (1)下载tess4j源码包:https://sourceforge.net/projects/tess4j/ tessdata下默认为英语库,中文库下载地址:https://github.com <dependency> <groupId>net.sourceforge.tess4j</groupId> <artifactId>tess4j</artifactId> (4)编写测试类: import java.io.File; import net.sourceforge.tess4j.ITesseract; import net.sourceforge.tess4j.Tesseract

    6.3K40编辑于 2022-06-29
  • 来自专栏产品的技术小课

    效率工具:4个语音转文字工具

    1、飞书妙记 - 网站 只需要注册就可以免费使用,支持音频转文字、视频转文字。还支持多种语言翻译,包括普通话、英语、日语。转好的文件可导出,如果想选择免费工具的话,首推飞书妙记! 它支持实时语音转文字、视频转文字、还可以把文字以word/txt格式导出,还能分享给微信好友。 ,视频转文字,如果不差钱的话首推讯飞听见。 0.33元/分钟 传送门: 网站:https://www.iflyrec.com app:应用市场直接搜 4、网易见外工作平台 - 网站 只要注册就能免费使用! 它的功能非常强大,支持视频翻译,自动生成中英文字幕、支持语音转文字、支持文档翻译、图片翻译等等,真的很赞。 如果语音转文字需求量比较大的话,可使用网易见外工作台!

    11.8K20编辑于 2022-05-17
  • 来自专栏hrscy

    为 VR 优化UE 4渲染

    首发于游戏蛮牛驿馆 ---- 为了《Farlands》游戏, Oculus 团队为UE 4开发了一个快速,单通道正向的渲染器。 我们开发了 **Oculus 虚幻渲染器 **伴随虚拟现实在头脑中渲染出具体的约束。 它让我们更容易地创造出高保真、高性能的体验,我们渴望与所有UE4开发者分享它。 我们使用 UE 4来创建此次内容,这为我们提供了一个令人难以置信的编辑环境和丰富的先进的渲染功能。 不幸地是,Rift 渲染的现实意味着我们只能使用这些功能的一个子集。 我们想研究哪些我们最常用的功能,看看我们是否能够设计一个精简的渲染器,能够提供更高性能和强大的视觉效果,同时让团队继续使用UE 4 的世界编辑器和引擎。 可视化的3D 光网格,说明了光照的相干性和剔除操作 除了渲染,我们已经修改了 UE4,允许进一步的CPU 和 GPU的优化。

    1.5K30发布于 2018-08-30
  • 来自专栏理论坞

    【教程】C4D文字线立体体现

    C4D文字线立体体现 建议收藏再看 这里是视频教程 案例效果图

    73320发布于 2018-08-06
  • 来自专栏贾志刚-OpenCV学堂

    OpenCV4.x的EAST场景文字检测

    相比其他几种场景文字检测模型,表现开挂。在ICDAR 2015数据集上表现优异,见下图: 可以看到红色点标记EAST模型的速度与性能超过之前的模型。  ++j)                 line(frame, vertices[j], vertices[(j + 1) % 4], Scalar(0, 255, 0), 1);          because feature maps are 4 time less than input image.              cv.waitKey(5)         if c == 27:             break     cv.destroyAllWindows() 运行结果 图书封面 – 图像检测 视频场景中文字检测 Pytorch轻松实现经典视觉任务 教程推荐 | Pytorch框架CV开发-从入门到实战 OpenCV4 C++学习 必备基础语法知识三 OpenCV4 C++学习 必备基础语法知识二 OpenCV4.5.4

    74310编辑于 2022-08-29
  • 来自专栏极客起源

    微信小程序开发实战(4):列表渲染

    ‍‍小程序还为我们提供了用于循环的列表渲染。通过wx:for属性,可以对数组进行循环,以便获取数组中的每一个元素,这一过程不需要编写一行JavaScript代码。下面是列表渲染的语法。 block wx:for wx:for也可以用于block中,例如,下面的布局代码对数组[1,2,3,4,5]进行循环,分别输出每一个数组元素,以及数组元素的平方。 4. 嵌套循环 wx:for和普通的for循环一样,同样可以嵌套。例如,下面的布局代码使用两层wx:for,并结合wx:if和wx:elif进行条件判断。 block wx:for同样可以嵌套使用,例如,要实现和图4-7相同效果的布局,只需要将上面布局代码的view wx:for改成block wx:for即可。 unique: 'key4'}, {id: 5, unique: 'key5'}, ], numberArray: [1, 2, 3, 4] } … …

    1.6K20发布于 2020-07-09
  • 来自专栏全栈程序员必看

    cocos2dx 3.0 研究(4渲染分析

    void Sprite::draw(Renderer *renderer, const kmMat4 &transform, bool transformUpdated) { // Don't 当绘制精灵数量越多,游戏的卡顿会非常明显,为了优化和提升渲染效率。 Cocos2d-x为我们提供了Auto-batching和SpriteBatchNode。 效果越明显 Auto-batching 在3.0版本号实现了引擎的逻辑代码与渲染代码的分离,实现了Auto Batch与Auto Culling功能。 超出屏幕的不会发给渲染, 可见渲染的效率还是有改进的, auto cmd = static_cast<QuadCommand*>(command); //Batch glDrawElements } 针对大资源的渲染解决方式參考 http://www.jb51.net/article/49439.htm 发布者:全栈程序员栈长,转载请注明出处

    61110编辑于 2022-07-08
  • 来自专栏机器之心

    无惧图像中的文字,TextDiffuser提供更高质量文本渲染

    尝试过现有 sota 文生图模型可以发现,模型生成的文字部分基本上是不可读的,类似于乱码,这非常影响图像的整体美观度。 除此之外,用户可能只希望修改文生图模型结果的文字部分,保留其他非文本区域的结果。 研究者采用了 Layout Transformer,使用编码器-解码器的形式自回归地输出关键词的坐标框,并用 Python 的 PILLOW 库渲染出文本。 为了实现以上两种目的,研究者重新设计了输入的特征,维度由原先的 4 维变成了 17 维。其中包含 4 维加噪图像的特征,8 维字符信息,1 维图像掩码,还有 4 维未被 mask 图像的特征。 与现有工作比较文本渲染性能 研究者还做了定性的实验,如表 1 所示,评估指标有 FID,CLIPScore 与 OCR。尤其是 OCR 指标,本文方法相对于对比方法有很大的提升。

    78530编辑于 2023-09-25
  • 来自专栏编程微刊

    jQuery数据结构渲染4):复选框checkbox赋值

    1:当返回值是字符串的时候 data.json: { "circle": "2;3;4;5;6;1" } 示例代码: <! "circle" type="checkbox" value="3" />周二 <input name="circle" type="checkbox" value="<em>4</em>" "name": "任务二" },{ "id": 3, "name": "任务三" },{ "id": 4, GET', dataType: 'json', success: function(data) { //checkbox渲染

    19900编辑于 2025-05-19
  • 来自专栏布尔

    ExtJS4预览:渲染过程重构和标准化

    在ExtJS4之前渲染组件没有标准的方式。在过去,Panels的展现过程是,首先创建他们需要的元素,并把他们直接添加到dom上,然后获取他们的引用。 ExtJS4,我们的目标是统一这些方法为一个标准的方法,那就是XTemplate和DomQuery。这个标准允许开发者很容易针对弹性需求构建出强健的组件。这个标准将在所有我们的组件中使用。

    1.4K100发布于 2018-01-19
领券