参照上面的文档说明,即使不用mutable_image控件,也要定义WITH_LCD_CLEAR_ALPHA宏,以支持背景色为透明的混色算法。
谢谢!
仔细看了awtk文档,发现我需要的是这个:
”2. 直接刷硬件方法
如果嵌入式支持多线程的话,可以使用一条线程支持刷到其中一个硬件图层中,然后另外一条线程给 AWTK 运行 GUI。
这个方法的好处是视频的刷新率不会受到 AWTK 的帧率影响,就算 AWTK 的 GUI 很卡,也不会导致视频卡顿的问题,如果硬件图层支持各种格式的透传的话,例如视频数据为 YUV 的话,就可以省下 YUV 格式转换的消耗问题,因为 mutable_image 控件只支持 RGBA8888, BGRA8888,RGB888,BGR888,RGB565,BGR565。“
但是,我在awtk_config.py里面定义了COMMON_CCFLAGS=COMMON_CCFLAGS+' -DWITH_LCD_CLEAR_ALPHA' ,
重新编译运行,结果是一样的...
全awtk代码收索关键字WITH_LCD_CLEAR_ALPHA,也没看到有使用到。是不是我哪里搞错了?
谢谢回复!
我看了下,发现mutable_image是通过软件将视频层的GUI层融合的?
这样的话不是很适合啊, 我的平台双核A7,有8路摄像头图象需要同时显示,如果软件拼图融合,太耗时间了!分辨率1024x600。
大家好,请教个问题啊。
之前用awtk做的项目,GUI层在fb1用的RGB565格式,视频层fb0。GUI叠加在视频层上,用colorkey透过去。
现在问题是colorkey只是一种色,不能实现半透明的效果,会有如下图的现像:
现在送样机,被客户退回了,糗大了...被老板批了...
所以,现在想用ARGB8888来做,测试了一下:
1.电脑制作一张全透明的png图片
2.win_cctv = window_create(NULL,0,0,0,0);
3.widget_use_style(win_cctv,"全透.png");
4.然后在win_cctv上面画图标和字符...
但显示的结果让我一头雾水,发现awtk显示出来的是在前一个界面的基础上叠加全透的png,根本就没有全透到底下的视频层!!
晕了...
猜测,应该是awtk用前一个界面为背景,将全透的png融合进去了....前一个界面没有透明,所以融合的结果也是一点没透明!
我测试过,如果是直接对fb1写ARGB8888的数据是可以半透过去的!说明fb1驱动是没问题了。
请教各位,有没有做过类似的应用?
如何处理视频层与UI层的叠加问题?
awtk此情况下,应该怎样用啊?
谢谢!
请问大神们,有没有使用过awtk的长按EVT_LONG_PRESS事件 ?
我使用电容触摸,在tslib_thread线程生成EVT_LONG_PRESS事件,如下:
req->event.type = EVT_LONG_PRESS;
tslib_dispatch(info);//事件分发..
在界面里面代码如下操作的:
//创建按键
button_down=button_create(..., ...,...);
//注册长按事件回调
widget_on(button_down, EVT_LONG_PRESS, min_down_onclick, ...);
但是发现无法触发这个EVT_LONG_PRESS事件!!!
请教,大家如何处理的?
我觉得这个应该是imgbtn默认style的问题,估计是里面的label默认就是居中显示的,所以你设置的align无效。这个有点像你把一个容器设置这个
lv_cont_set_layout(h, LV_LAYOUT_PRETTY_MID);布局之后,你在里面使用align去设置他的子代都是无效的。具体的我还没去研究过,我一般是如下操作去设置的。tv = lv_tabview_create(lv_scr_act(), NULL);
LV_IMG_DECLARE(imgbtn_green);
LV_IMG_DECLARE(imgbtn_blue);lv_obj_t * imgbtn1 = lv_imgbtn_create(tv, NULL);
lv_imgbtn_set_src(imgbtn1, LV_BTN_STATE_RELEASED, &imgbtn_green);
lv_imgbtn_set_src(imgbtn1, LV_BTN_STATE_PRESSED, &imgbtn_green);
lv_imgbtn_set_src(imgbtn1, LV_BTN_STATE_CHECKED_RELEASED, &imgbtn_blue);
lv_imgbtn_set_src(imgbtn1, LV_BTN_STATE_CHECKED_PRESSED, &imgbtn_blue);lv_obj_t * label = lv_label_create(tv, NULL);
lv_label_set_text(label, "12");
lv_obj_align(label, imgbtn1, LV_ALIGN_IN_LEFT_MID, 10, 0);
lv_imgbtn_set_checkable(imgbtn1, true);
看了一下,一样的用法啊!
您那边方便将lv_obj_align(label, imgbtn1, LV_ALIGN_IN_LEFT_MID, 10, 0);
改成lv_obj_align(label, imgbtn1, LV_ALIGN_IN_TOP_LEFT, 10, 0);
测试一下?
谢谢了
请教各位大神,我现在使用lvgl7.0 imgbtn图片按钮,遇到两个问题:
1.创建一个imgbtn后,再创建一个label, 在label显示按钮的名称,问题来了: label的位置不能改变。如下:
lv_obj_t * icon = lv_imgbtn_create(parent, NULL);
lv_imgbtn_set_src(icon,LV_BTN_STATE_RELEASED,nor_icon);//图片按钮正常的状态
lv_imgbtn_set_src(icon,LV_BTN_STATE_PRESSED,pre_icon);//图片按钮按下的状态
lv_obj_t * label = lv_label_create(icon, NULL);
lv_label_set_text(label, txt);
//左上角偏移...
lv_obj_align(label, icon, LV_ALIGN_IN_TOP_LEFT, 0, 0);//这里更改label的座标,但是一直没变化...大家是如何做的?
2.也是这个label的问题,我想在图片按钮被按下的时候,改变label的字体颜色,请教如何才能实现?
看原子哥V6.0的视频是通过lv_imgbtn_set_style(imgbtn1,LV_BTN_STATE_PR,&pr_style)来做的,但是发现V7.0竟然没有这个函数了....哭晕了...难道要用回V6.0吗?
先谢谢大家了!
AWTK 全称 Toolkit AnyWhere,是 ZLG 开发的开源 GUI 引擎,旨在为嵌入式系统、WEB、各种小程序、手机和 PC 打造的通用 GUI 引擎,为用户提供一个功能强大、高效可靠、简单易用、可轻松做出炫酷效果的 GUI 引擎。
AWTK 1.5 发布: https://www.oschina.net/news/118180/awtk-1-5-released
楼主大神,在没?
请教个问题...
先讲一下硬件环境:ARM9,内置64MB DDR2, 屏分辨率1024x600。
软件:linux, 基于fb的方式跑awtk V1.5
现在遇到的问题是:内存不足!
两个界面,每个界面一张1024x600的图片做背景图,在界面切换时就系统就提示内存不足,直接挂机了!
试过,两个界面使用同一张图片时是没问题的。
所以,请问下,awtk内部是如何处理图片的数据?是不是加载后就一直占用内存?
如果一直占用的话,1024x600x2=1228800, 两张背景图就占2.4MB内存了...这占用太多了
这种情况应该如何处理呢?
测试的确是没问题,
https://whycan.cn/files/members/383/TIM截图20200330133020.jpg或许是浏览器该清理缓存了,试一下。
服务器端我把js缓存关掉。
换了一个浏览器,终于可以了,非常感谢!
得用这个: https://github.com/TuyaInc/TUYA_IPC_SDK/archive/SDK_3.1.2.zip
我知道问题了,得优化以下后台逻辑。
我对github不熟。
请教一下,如何判断出来是这个https://github.com/TuyaInc/TUYA_IPC_SDK/archive/SDK_3.1.2.zip ?
搞个官方的sdk就成啦
官方的sdk, 文件名是不是"f1c600.tar.bz2" ?
如下链接提到的官方sdk是否可以硬解H264:
https://whycan.cn/t_1014.html
https://whycan.cn/files/members/1935/QQ图片20191105195154.jpg
参数没问题的,启动log都显示出来了
我现在只在怀疑framebuffer的大小了
暂时还不知道在哪改,明天弄些图片刷刷再测试下
这个界面不错噢,请问用的是什么GUI ?
请教一下 这个群创 4.3 怎么跳线?
有供应商吗?
问供应商是最快的,如mango所说,FPC排线上IM0,IM1,IM2的电阻位置的话,就容易了
良心价,我去买几片...哈
TPG121-V1_7.pdf
这个是从别的网站上找的统宝屏的配置,大概试了下,只要配置寄存器2,模式选择 through模式,,寄存器3 ,non-interlace(时序相对简单),就可以正常点亮了。
问题:1.就是rgb delta的屏好像颜色排序不一样。奇行偶行不一样,需要区别对待。但是选择through模式后,好像横向只有480/3=160个点了。第一次玩屏,懵逼中,有懂的讲解下呗
2.参照上面的手册,好像可以直接输出YUV的方式。刚试了下,好像是可行的。但是第一次玩,只会用FPGA刷全色。https://whycan.cn/files/members/860/none.jpg
这个是通过SPI口回读的寄存器配置。
https://whycan.cn/files/members/860/RGB_Delta.jpg
rgb delta的问题
https://whycan.cn/files/members/860/none_20190413-1628.jpg
需要配置的值
Seriel RGB的屏,试试把分辨率Hx3, 就是输出配置成1440x240, 相应的屏的clock也要x3,我以前点过的统宝屏是要这样子的。
Quotation 说:微凉VeiLiang 说:F1C100S接口不冲突,低两位才和摄像头共用引脚,不像v3s
从datasheet上看这几位都是和CSI冲突的,LCD的这几位实际用不到吗?
https://whycan.cn/files/members/1163/Screen-Shot-2019-03-12-at-08_57_54.png
这些是RGB的低两位,显示屏这些位接地就行了。
微微凉正解!RGB666的接法,低两位也还可以并接到高两位。