zoukankan      html  css  js  c++  java
  • emWin使用注意事项-笔记

    1.在图片上显示文本时,特别是使用内存设备显示动态文本时,文本显示(如 GUI_DispString("Op Fancy's Blog"); )背景默认是桌面背景。

      (小记:桌面背景默认时黑色,可以通过调用如 GUI_SetBkColor(GUI_WHITE); 将桌面背景色设置为白色。)

    如果需要将文本背景设为透明或是反转文本颜色(文本本身颜色和文本背景颜色同时反转),可通过调用 int GUI_SetTextMode(int TextMode); 函数进行设置

      函数参数分别可以为:

    GUI_TEXTMODE_NORMAL

    设置为显示正常文本。这是默认设置,该数值等同于0。

    GUI_TEXTMODE_XOR 

    设置为显示反转文本。

    GUI_TEXTMODE_TRANS 

    设置为显示透明文本。

    GUI_TEXTMODE_REV

    设置为反相显示的文本。

     2.使用内存设备进行动态显示的过程主要包括:

      (1).创建显示区域前景和背景的内存设备。

      (2).在进行显示前将背景区域拷贝到内存设备中

      (3).循环中选中前景内存设备作为接下来的操作对象

      (4).将之前拷贝的背景区域写入到前景设备

      (5).在设定的区域进行显示操作  注意:进行到这一步屏幕上是不会有实际显示画面的,因为显示操作实在选中的内存设备hMem_Fk上进行操作的,而不是对屏幕进行操作

      (6).把内存设备前景区域拷贝到屏幕进行显示  注意:这一步屏幕上才会有实际的显示画面

      (7).之后如果需要进行其他直接对屏幕显示的操作时,一定要在操作最后执行GUI_MEMDEV_Select(0);这一步的意思是将显示对象设置为LCD屏幕,而不是选中的内存设备HMem_FK

      (8).如果创建的是一次性使用的内存设备(如在调用的函数里面创建)时,需要在使用完成后删除内存设备,否则会造成内存泄漏,造成长时间使用时闪烁的情况!

    GUI_MEMDEV_Handle hMem_BK;//背景
    GUI_MEMDEV_Handle hMem_FK;//前景
    
    hMem_BK = GUI_MEMDEV_Create(20,30,50,50);
    hMem_FK = GUI_MEMDEV_Create(20,30,50,50);
    
    GUI_MEMDEV_CopyFromLCD(hMem_BK );
    
    while(1)
    {
      GUI_MEMDEV_Select( hMem_FK);
      GUI_MEMDEV_Write(hMem_BK);
        /************************************************************
      这部分用于显示,  显示内容必须和上GUI_MEMDEV_Create函数中的参数相对应
      GUI_MEMDEV_Create(起始坐标x,起始坐标y,显示区域宽w, 显示区域高h);
      //GUI_SetBkColor(GUI_RED);
      //GUI_Clear();
      //上两行可以用来查看修改设定的内存设备区域,区域由红色填充 ************************************************************
    */   GUI_MEMDEV_CopyToLCD(hMem_BK);   GUI_MEMDEV_Select(0);
      //GUI_MEMDEV_Delete(); }
  • 相关阅读:
    C#多线程操作界面控件的解决方案
    InvokeHelper,让跨线程访问/修改主界面控件不再麻烦
    .netCF中后台多线程与UI界面交互的冻结问题
    c#设计模式第一天
    C#代理
    界面
    第一章面向对象涉及原则
    C# 为webBrowser设置代理
    设计模式等
    下载: Intel® 64 and IA32 Architectures Software Developer Manuals
  • 原文地址:https://www.cnblogs.com/fancyop/p/Notes.html
Copyright © 2011-2022 走看看