STM32
直播中

李丽

7年用户 1447经验值
私信 关注
[问答]

stemwin位流图显示不出来图片是为什么?

刚开始学遇到了下面这个问题,请大家帮忙指导一下目前打算从SD卡读取.dta文件显示

  • void pic(char *path)
  • {
  •         int fd;
  •         fd = open(path,O_RDONLY);
  •         if(fd>=0)
  •         {
  •                 fstat(fd, file_state);
  •                 hMem = GUI_ALLOC_AllocZero(512*1024);
  •                 buf = GUI_ALLOC_h2p(hMem);
  •                 read(fd,buf,file_state.st_size);
  •                 close(fd);
  •                 GUI_DrawStreamedBitmapAuto(buf,100,100);
  •                 GUI_ALLOC_Free(hMem);
  •         }
  • }


  • while(1)
  •         {
  •                 pic("app.dta");
  •                 rt_thread_delay(1000);
  •         }

通过这种方式在while里面能正常显示

可是如果把这个显示的函数放到窗口的回调函数里面就显示不出来图片,
但是能读取到数据,buf数据大小正常

回帖(1)

h1654155275.5741

2024-4-22 15:52:23
这个问题可能有几个原因:
1。找不到图像文件:请确保图像文件存在于SD卡上的指定路径中。
2.文件格式不正确:请验证图像文件是否为stemwin库支持的兼容格式。通常支持的格式有BMP、JPEG和PNG。
3.内存分配:检查图像显示的内存分配是否足够。内存分配不足可能会导致图像显示问题。
4.代码错误:仔细检查代码中是否存在可能妨碍图像正确显示的语法或逻辑错误。如果没有完整的代码和更具体的细节,就很难提供精确的解决方案。请考虑提供更多信息或完整的代码片段以获得进一步帮助。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分