如何使用 TouchGFX 帧缓冲区仅镜像 x 轴

Posted

技术标签:

【中文标题】如何使用 TouchGFX 帧缓冲区仅镜像 x 轴【英文标题】:How to use TouchGFX framebuffer to mirror x axis only 【发布时间】:2021-09-07 10:13:59 【问题描述】:

我有一个圆形 MIPI-DSI 显示器,需要将图像旋转 180 度。我已经阅读了纯软件实现帖子here,但它特别提到这使得内存使用效率非常低,这对于我们的电池供电设备来说并不理想。显示器制造商建议在 TouchGFX 代码中仅翻转 x 轴(基本上只是将 x 坐标更改为 454-x(454 是最大显示宽度))然后使用扫描方向切换命令来完成 180 度翻转在他们的显示器硬件上翻转 y 轴。理想情况下,这一切对更高级别的 TouchGFX 代码是完全透明的——即图形配置实用程序对此一无所知,只会让我配置一个正常的显示视图。关于最好的方法的任何想法,以及这种方法是否有任何好处,而不是仅仅在 SW 中进行整个旋转,如上面的线程所示?提前致谢!

【问题讨论】:

【参考方案1】:

目前,TouchGFX 不支持 180 度旋转,因为这通常可以在硬件驱动程序中进行配置。但是,确实会发生制造商安装错误的方式,并且无法更改已经安装/生产的硬件。

软件版本,记住它不是直接支持的,真的很贵。我在 TouchGFX 子社区 (community.st.com) 上发布了一个 Mirror 小部件 (Mirror.hpp),它通过交换每个像素来做这个镜像,但如果你追求性能,请不要使用它。

【讨论】:

以上是关于如何使用 TouchGFX 帧缓冲区仅镜像 x 轴的主要内容,如果未能解决你的问题,请参考以下文章

WebGL 帧缓冲区 ClearColor 仅影响 (0,0) 像素

是否可以仅使用 OpenGL 确定默认帧缓冲区的大小?

多样本帧缓冲区仅与渲染缓冲区不完整

如何使用 linux 帧缓冲区旋转 Qt5 应用程序?

OpenGL ES 直接到控制台帧缓冲区

Linux 帧缓冲模式