- 博客(18)
- 收藏
- 关注
原创 鸿蒙高性能绘制离屏渲染
这样的好处就是绘制过程中不会产生屏幕抖动,举个例子,当你在画板上作画时,旁边有人盯着你看,当你绘制完一幅图时, 你再用橡皮擦去擦掉。目前已经支持GPU后端Canvas,GPU的并行计算能力更强,更适合图形绘制。但GPU后端Canvas对部分场景的支持还有欠缺,比如复杂的路径,对于简短文字的绘制性能也比不上CPU后端Canvas。GPU后端Canvas指画布是基于GPU进行绘制的,GPU的并行计算能力优于CPU,适用于绘制图片或区域相对大的场景,但目前GPU后端的Canvas针对绘制复杂路径的能力还有欠缺。
2025-12-16 16:04:48
11
原创 鸿蒙高性能图形绘制
HarmonyOs ArkGraphics 2D(方舟2D图形服务 )提供的绘制引擎,如果在 ArkUI 侧绘制,对绘制性能有高要求的话,那就直接放弃,转Native绘制配合 GPU 后端渲染。(想到这儿我浑身难受)理解图形绘制的基本流程,再调用 api 就好理解一些。4.从BufferHandle中获取对应的内存地址。
2025-12-16 15:25:34
12
原创 鸿蒙编译 openssl 库
在编译 mupdf 时我们需要使用到 openssl 库用来做文件加密。编译 openssl 时采用静态编译。执行 pkg-config --libs libcrypto 看下链接路径是否正确。编译成功后,需要做如下配置让 mupdf 编译时能正确找到 openssl。
2025-11-14 17:42:51
24
原创 鸿蒙编译 mupdf 库
由于开源鸿蒙没有可用的 PDF 库,只能找开源的 PDF 库实现,这里选用。因为这个库比较强大,支持的功能多。比如PDF解析、写入、格式转换等。
2025-11-14 16:33:32
70
原创 鸿蒙系统编译mupdf 库字体说明
mupdf 库采用的是 PostScript Type 1 作为其默认的字体。要想正确的编译 mupdf 就需要先将 .cff 字体转为 ttf 字体。链接: https://pan.baidu.com/s/11BQ7Q8Mi4e7YybJifDXhgA 提取码: 1234。本文采用当下最新的 mupdf版本1.26。转换好的字体下载,通过网盘分享的文件:mupdf字体。–来自百度网盘超级会员v7的分享。
2025-11-13 18:04:12
121
原创 FFmpeg ffplay 源码分析四(初始化 VideoState)
上一篇已经将 SDL 初始化完成,后面的文章就是开始围绕解码、视频画面、音频声音、音视频同步来展开。这篇文章的目的是对播放器的总管家 VideoState 有深刻认识。
2025-09-19 18:01:11
373
原创 FFmpeg ffplay 源码分析三(解析命令行参数)
上一篇FFmpeg ffplay 源码分析二(命令行参数解析数据结构)已经理解了整体解析思路,并且也说明对应的数据结构。那就开始分析源码吧!还是上一篇的命令行参数,本文使用视频: test.mp4。通过网盘分享的文件:test.mp4链接: https://pan.baidu.com/s/1Nc7cijPz0rBzxPX9q3bs6A 提取码: 1234参数解释:ffplay: 命令不做解析-y 640 : 表示强制制定视频的高度为 640 ,宽度自适应。
2025-09-16 13:44:57
448
原创 FFmpeg ffplay 源码分析二(命令行参数解析数据结构)
ffplay 精髓就是众多的命令行参数,通过参数可以控制很多的播放行为,比如设置解码器、音量、选择音频或视频播放、选择哪一路音视频流播放等。因此阅读 fflplay 源码分析其参数的解析以及应用非常关键。带着命令行参数去分析,这样才能更好理解。本文使用视频: test.mp4链接: https://pan.baidu.com/s/1Nc7cijPz0rBzxPX9q3bs6A 提取码: 1234参数解释:ffplay: 命令不做解析-y 640: 表示强制制定视频的高度为 640,宽度自适应。
2025-09-16 13:43:20
183
原创 Windows 防止DLL劫持
在早期,应用程序经常将所需的 DLL 直接放到系统目录(如 C:\Windows\System32)或应用程序自己的目录中。版本冲突:一个新安装的程序可能会用旧版本覆盖系统目录中另一个程序依赖的新版本 DLL,导致后者崩溃(反之亦然)。这就是著名的 “DLL Hell”。安全问题:恶意软件可以将其恶意 DLL 放入应用程序目录或系统目录,从而被加载执行。为了解决这些问题,微软改进了 DLL 的搜索策略,并引入了诸如 SetDllDirectory 这样的函数来让开发者有更精细的控制权。函数原型。
2025-09-15 16:46:28
292
原创 FFmpeg ffplay 源码分析一(创建ffplay调试环境)
本文基于 Qt5.15.2、Qt Creator 17.0.0 环境,需要有编译好的 FFmpeg 库,可参考本文FFmpeg Windows 编译编译。学习 ffplay 可以很好的理解播放器是如何实现的,也能学习下 FFmpeg 项目大佬们的编码技巧。
2025-09-15 16:04:50
925
原创 FFmpeg Windows 编译
使用过 Linux 编译第三方开源库的都知道,主流开源项目,比如 FFmpeg 都提供了 configure 文件,用户只需要预先安装编译工具后,就可以是用 ./configure xxx 去编译源码。那么在 Windows 系统,也能否有一套类似的编译工具集呢!这就是msys2MSYS2 是一个在 Windows 上提供类 Unix 环境的软件发行版和开发平台。
2025-09-15 15:15:16
818
原创 OpenGL 3D变换
在OpenGL 里,我们一般使用矩阵作向量投影,如正交或者透视投影,并且也用他们使物体旋转(rotation)、平移(translation)、以及缩放(scaling)。接下来从矩阵的第一行开始,这一行的第一个分量乘以向量的第一个分量,这一行的第二个分量乘以向量的第二个分量,以次类推。把这一行的所有分量都和向量相乘后,得出其最终结果。现在要将一个位置 (2, 2, 0, 1)平移沿 x 轴平移3,沿 y 轴也平移 3,因此 xtranslation 赋值为3, ytranslation 也赋值为 3。
2025-04-02 09:37:58
284
原创 PySide6 实现简易的签字轨迹
按着人们的思路,找一张画板(QPixmap),画笔(QPainter),通过画笔在画板上绘图。编程也是这样的,需要了解 QPainter 的使用。实现连续的轨迹,实际就是将鼠标经过的点通过线段绘制起来,最关键的就是要记录最后一个点的位置,并且在鼠标抬起时需要重置。
2025-03-03 19:36:39
271
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅