完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
处理器:HI3716M
SDK:Hi3716XV100R001C00SPC0A2 问题描述:在海思HI3716 DMO板上跑SDK/sample/higo下的样例,发现不能显示linux下的UTF-8编码格式的汉字,windows下字体可以正常显示,由于有关底层的东西都打包做成的动态库,所以我这边没法看见,以前是我主函数里面的代码,如果有可能的话,我希望能在应用就能解决这个问题: 声明:我要实现的是在TV上显示UTF-8的字体,不用转GB2312 HI_S32 main(HI_S32 argc, HI_CHAR* argv[]) { HI_S32 s32Ret = 0; HI_HANDLE hFont = HIGO_INVALID_HANDLE; HIGO_LAYER_INFO_S stLayerInfo = {0}; HI_HANDLE hLayer = HIGO_INVALID_HANDLE; HI_HANDLE hLayerSurface; HI_RECT rc = {0}; HI_CHAR szText[] = "涔变竷鍏碂"; //这是在linux下的UTF-8编码格式 HIGO_LAYER_E eLayerID = HIGO_LAYER_HD_0; s32Ret = Display_Init();//初始化display if (HI_SUCCESS != s32Ret) { Printf("failed to init display!n"); return 0; } s32Ret = HI_GO_Init();//初始化higo if (HI_SUCCESS != s32Ret) { Printf("failed to init higo! ret = 0x%x !n", s32Ret); return 0; } HI_GO_GetLayerDefaultParam(eLayerID, &stLayerInfo); //根据图层ID获取相应图层(SD,HD)创建时的默认参数 stLayerInfo.PixelFormat = HIGO_PF_8888; s32Ret = HI_GO_CreateLayer(&stLayerInfo, &hLayer);//创建图层 if (HI_SUCCESS != s32Ret) { Printf("failed to create the layer sd 0, ret = 0x%x !n", s32Ret); goto RET; } s32Ret = HI_GO_GetLayerSurface(hLayer, &hLayerSurface);//获取图层的surface if (HI_SUCCESS != s32Ret) { Printf("failed to get layer surface! s32Ret = 0x%x n", s32Ret); goto RET; } HI_GO_FillRect(hLayerSurface, NULL, 0xFF000000, HIGO_COMPOPT_NONE);//矩形填充 s32Ret = HI_GO_CreateText("./res/simhei.ttf", NULL, &hFont);// 创建文本输出对象 if (HI_SUCCESS != s32Ret) { Printf("failed to create the font:./res/simhei.ttf !n"); goto RET; } HI_GO_SetTextColor(hFont, 0xffff0000);//设置文本颜色 rc.x = 200; rc.y = 100; rc.w = 400; rc.h = 30; HI_GO_DrawRect(hLayerSurface, &rc, 0xffffffff);//画矩形 s32Ret = HI_GO_TextOutEx(hFont, hLayerSurface, szText, &rc, HIGO_LAYOUT_RIGHT);//在指定的区域文本输出 if (HI_SUCCESS != s32Ret) { Printf("failed to text out char!n"); goto RET; } HI_GO_RefreshLayer(hLayer, NULL);//刷新图层 getchar(); RET: if (HIGO_INVALID_HANDLE != hLayer) { HI_GO_DestroyLayer(hLayer); } if (HIGO_INVALID_HANDLE != hFont) { HI_GO_DestroyText(hFont); } HI_GO_Deinit(); Display_DeInit(); return HI_SUCCESS; } 求助:如何在TV上正常显示UFT-8编码格式的字体? |
|
相关推荐
1个回答
|
|
请各位朋友给把力量,兄弟我力量实在有限
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
嵌入式学习-飞凌ElfBoard ELF 1板卡 - 如何在Ubuntu中编译OpenCV库
1744 浏览 0 评论
飞凌嵌入式ElfBoard ELF 1板卡-如何移植FFmpeg
1457 浏览 0 评论
834 浏览 0 评论
飞凌嵌入式ElfBoard ELF 1板卡-如何移植NCNN
1163 浏览 0 评论
飞凌嵌入式ElfBoard ELF 1板卡-交叉编译链描述及使用方法
1875 浏览 0 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-6-26 09:25 , Processed in 0.803340 second(s), Total 74, Slave 57 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191