硬汉嵌入式论坛

 找回密码
 立即注册
查看: 2953|回复: 19
收起左侧

[ThreadX全家桶] GUIX中如何旋转显示方向?

[复制链接]

3

主题

16

回帖

25

积分

新手上路

积分
25
发表于 2021-8-11 13:41:31 | 显示全部楼层 |阅读模式
本帖最后由 xboxer 于 2021-8-11 14:22 编辑

想将显示旋转180度,emWin中有GUI_SetOrientation()函数可实现,GUIX中是否也有类似的?
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107642
QQ
发表于 2021-8-11 14:47:59 | 显示全部楼层
GUIX Studio V6.1.3正式支持界面旋转功能,大大方便大家横竖屏设计
http://www.armbbs.cn/forum.php?m ... 3091&fromuid=58
(出处: 硬汉嵌入式论坛)
回复

使用道具 举报

3

主题

16

回帖

25

积分

新手上路

积分
25
 楼主| 发表于 2021-8-12 18:12:56 | 显示全部楼层
安装了GUIX Studio最新的V6.1.8,其旋转选项有CW和CCW,一个顺时针90度,一个逆时针90度,没有可旋转180度的
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107642
QQ
发表于 2021-8-12 18:17:27 | 显示全部楼层
xboxer 发表于 2021-8-12 18:12
安装了GUIX Studio最新的V6.1.8,其旋转选项有CW和CCW,一个顺时针90度,一个逆时针90度,没有可旋转180度 ...

直接上Github给GUIX反馈,你们需要180°反转。

ps:180°反转用在什么场景下,直接显示屏旋转下安装不就行了。
回复

使用道具 举报

3

主题

16

回帖

25

积分

新手上路

积分
25
 楼主| 发表于 2021-8-12 23:06:32 | 显示全部楼层
一是LCD尺寸只能反着装,二是也需要根据不同的位置调整显示方向
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107642
QQ
发表于 2021-8-13 08:45:25 | 显示全部楼层
xboxer 发表于 2021-8-12 23:06
一是LCD尺寸只能反着装,二是也需要根据不同的位置调整显示方向

什么产品,方便的话,展示下,学习学习
回复

使用道具 举报

3

主题

16

回帖

25

积分

新手上路

积分
25
 楼主| 发表于 2021-8-13 09:34:32 | 显示全部楼层
目前项目还在初期,见谅暂时还不能公开。设计的初衷是用户可根据使用习惯调整放置方向,显示方向也会相应调整。
之前用emWin有相应的函数,不过emWin用起来也是苦B哈哈的,所以想换GUIX试试。

另外,硬汉兄提到可在Github中反馈,如何操作?
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107642
QQ
发表于 2021-8-13 09:42:44 | 显示全部楼层
xboxer 发表于 2021-8-13 09:34
目前项目还在初期,见谅暂时还不能公开。设计的初衷是用户可根据使用习惯调整放置方向,显示方向也会相应调 ...

https://github.com/azure-rtos/guix/issues
回复

使用道具 举报

3

主题

16

回帖

25

积分

新手上路

积分
25
 楼主| 发表于 2021-8-13 11:02:07 | 显示全部楼层
eric2013 发表于 2021-8-13 09:42
https://github.com/azure-rtos/guix/issues

谢谢!               
回复

使用道具 举报

0

主题

48

回帖

48

积分

新手上路

积分
48
发表于 2021-8-16 17:13:42 | 显示全部楼层
Azure RTOS GUIX Studio目前不支持180度屏幕旋转
如果要实现180度屏幕旋转,可以在buffer toggle里实现相关代码。
软件旋转180举例:
USHORT * pGet = working_frame_buffer(canvas memory);
USHORT * pPut = visible_frame_buffer + buffer_size – 1 – row_stride;


for (INT row = 0; row < height; row++)
{
pGet = pGetRow;
pPut = pPutRow;
for (INT col = 0; col < width; col++)
{
*pPut = *pGet;
--pPut;
++pGet;
}
pGetRow += row_stride;
pPutRow -= row_stride;
}


这里旋转了整个屏幕,实际应用中可以只旋转dirty的区域。
如果用到了图形加速器,且图形加速器支持旋转,可以通过图形加速器实现,性能会更好。
此外还需要修改屏幕触摸驱动,实现坐标系的转换。

screen_rotation..jpg
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107642
QQ
发表于 2021-8-17 08:34:41 | 显示全部楼层
Ting 发表于 2021-8-16 17:13
Azure RTOS GUIX Studio目前不支持180度屏幕旋转
如果要实现180度屏幕旋转,可以在buffer toggle里实现相 ...

这个不是最优解,STM32的DMA2D没法加速。希望可以出更好的方案。
GUIX Studio可直接旋转是最好的。


回复

使用道具 举报

0

主题

25

回帖

25

积分

新手上路

积分
25
发表于 2021-8-17 15:30:56 | 显示全部楼层
清问在GUIX Studio最新的V6.1.8,其旋转选项有CW和CCW,一个顺时针90度,一个逆时针90度,如果要旋转的话是不是只要设置这个选项就可以了,其他还有要修改的吗?
回复

使用道具 举报

0

主题

25

回帖

25

积分

新手上路

积分
25
发表于 2021-8-17 15:31:45 | 显示全部楼层
我要旋转90度,选择 CW或CCW 显示都不正常,
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107642
QQ
发表于 2021-8-18 09:05:29 | 显示全部楼层
china_ldz 发表于 2021-8-17 15:31
我要旋转90度,选择 CW或CCW 显示都不正常,

回头我试试,还没有用过旋转功能。
回复

使用道具 举报

14

主题

50

回帖

97

积分

初级会员

积分
97
发表于 2022-9-20 16:37:42 | 显示全部楼层
eric2013 发表于 2021-8-18 09:05
回头我试试,还没有用过旋转功能。

我是800*480的屏,设置为CW/CCW后显示异常,需要将程序中LCD驱动的分辨率设置为480*800,但如此显示也是不完整的,这个旋转功能到底怎么使用呢?有没有大神指导一下?
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107642
QQ
发表于 2022-9-21 10:49:50 | 显示全部楼层
疯狂的小饼干 发表于 2022-9-20 16:37
我是800*480的屏,设置为CW/CCW后显示异常,需要将程序中LCD驱动的分辨率设置为480*800,但如此显示也是 ...

当前的旋转方案不好,等他们再升级。
回复

使用道具 举报

14

主题

50

回帖

97

积分

初级会员

积分
97
发表于 2022-9-21 16:20:00 | 显示全部楼层
eric2013 发表于 2022-9-21 10:49
当前的旋转方案不好,等他们再升级。

嗯   我实际对比了CCW/CW/NONE配置生成的*.c/*.h文件,并没有不同之处,按理说是没有实际效果的。可能是一个预留吧,希望后面有更新。我这两天用RT1052的PXP+GUIX做到了横屏转竖屏,明天整理下发帖和大家讨论。
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107642
QQ
发表于 2022-9-22 10:34:37 | 显示全部楼层
疯狂的小饼干 发表于 2022-9-21 16:20
嗯   我实际对比了CCW/CW/NONE配置生成的*.c/*.h文件,并没有不同之处,按理说是没有实际效果的。可能是 ...

好的
回复

使用道具 举报

14

主题

50

回帖

97

积分

初级会员

积分
97
发表于 2022-9-22 11:42:09 | 显示全部楼层
疯狂的小饼干 发表于 2022-9-21 16:20
嗯   我实际对比了CCW/CW/NONE配置生成的*.c/*.h文件,并没有不同之处,按理说是没有实际效果的。可能是 ...

发了帖子说明了,欢迎大家来指正和讨论
回复

使用道具 举报

14

主题

50

回帖

97

积分

初级会员

积分
97
发表于 2022-9-22 11:42:26 | 显示全部楼层
疯狂的小饼干 发表于 2022-9-20 16:37
我是800*480的屏,设置为CW/CCW后显示异常,需要将程序中LCD驱动的分辨率设置为480*800,但如此显示也是 ...

RT1052平台PXP+GUIX实现屏幕旋转
https://www.armbbs.cn/forum.php? ... 4&fromuid=31310
(出处: 硬汉嵌入式论坛)
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2024-6-9 20:42 , Processed in 0.224192 second(s), 29 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表