qn1513734560

qn1513734560

0个粉丝

3

问答

0

专栏

0

资料

qn1513734560  发布于  2019-05-31 15:58:45
采纳率 0%
3个问答
2113

3516D TDE画线然后用region更新出现变色

 
各位大佬请教一个问题画的小十字线水平跟垂直的颜色在鼠标移动的时候 有时候会出现颜色不是黑色的状况,黑色会变成紫色 这个是怎么引起的

说明:   stVoCanvasSurfaceZeroData的 虚拟内存已经初始化为0x000000000
pu32VoCanvasSurfaceBackupVirAddr 为stVoCanvasSurfaceBackup的虚拟内存
stVoCanvasSurface 这个跟VPSS的 region关联
surface 的格式是RGB8888   线的颜色是黑色 如:0xFF000000

出现状况:画的小十字线水平跟垂直的颜色在鼠标移动的时候 有时候会出现颜色不是黑色的状况,黑色会变成紫色




TDE2_SURFACE_S stVoCanvasSurface = {0};
TDE2_SURFACE_S stVoCanvasSurfaceBackup = {0};
TDE2_SURFACE_S stVoCanvasSurfaceZeroData = {0};


hTde = HI_TDE2_BeginJob()
              if(hTde>0)
              {
//清屏
                result = HI_TDE2_QuickCopy(hTde, &stVoCanvasSurfaceZeroData, &voRect, &stVoCanvasSurfaceBackup, &voRect);
                  if (HI_SUCCESS != result)
                  {
                    HI_TDE2_CancelJob(hTde);
                  }
                  else
                  {
                    result =  HI_TDE2_EndJob(hTde, HI_TRUE, HI_TRUE, 10);
                    if (HI_SUCCESS != result)
                    {
                        HI_TDE2_CancelJob(hTde);
                    }       
                    else
                    {
                               
                        HI_TDE2_WaitForDone(hTde);
                        hTde = HI_TDE2_BeginJob();
                        if(hTde>0)
                        {

                       
                          //curPos 为鼠标坐标  //0xff000000表示画黑色 30*30大小的十字线
                            draw_crossline32( (HI_U32*) pu32VoCanvasSurfaceBackupVirAddr,curPos,0xff000000,30,30);//画十字线
                            
                        result = HI_TDE2_QuickCopy(hTde, &stVoCanvasSurfaceBackup, &voRect, &stVoCanvasSurface, &voRect);//拷贝stVoCanvasSurfaceBackups数据到stVoCanvasSurface
                            if (HI_SUCCESS != result)
                            {
                                HI_TDE2_CancelJob(hTde);
                            }
                            else{
                                result =  HI_TDE2_EndJob(hTde, HI_TRUE, HI_TRUE, 10);
                                if (HI_SUCCESS != result)
                                {
                                    HI_TDE2_CancelJob(hTde);
                                }       
                                else
                                {
                                  HI_TDE2_WaitForDone(hTde);
                                }
                            }
                        }
                    }
                  }
              }
HI_MPI_RGN_UpdateCanvas(VoCanvasHandle); //更新region
我来回答
回答2个
时间排序
认可量排序

qn1532684965

0个粉丝

11

问答

0

专栏

0

资料

qn1532684965 2019-06-01 16:39:02
认可0
碰到类似的问题,同问

guduxue0624

0个粉丝

2

问答

0

专栏

0

资料

guduxue0624 2019-11-28 18:14:54
认可0
你们有使用TDE给Qt做硬件加速吗?有什么方法分享吗?
或将文件直接拖到这里
悬赏:
E币
网盘
* 网盘链接:
* 提取码:
悬赏:
E币

Markdown 语法

  • 加粗**内容**
  • 斜体*内容*
  • 删除线~~内容~~
  • 引用> 引用内容
  • 代码`代码`
  • 代码块```编程语言↵代码```
  • 链接[链接标题](url)
  • 无序列表- 内容
  • 有序列表1. 内容
  • 缩进内容
  • 图片![alt](url)
+ 添加网盘链接/附件

Markdown 语法

  • 加粗**内容**
  • 斜体*内容*
  • 删除线~~内容~~
  • 引用> 引用内容
  • 代码`代码`
  • 代码块```编程语言↵代码```
  • 链接[链接标题](url)
  • 无序列表- 内容
  • 有序列表1. 内容
  • 缩进内容
  • 图片![alt](url)
相关问答
无更多相似问答 去提问
举报反馈

举报类型

  • 内容涉黄/赌/毒
  • 内容侵权/抄袭
  • 政治相关
  • 涉嫌广告
  • 侮辱谩骂
  • 其他

详细说明

易百纳技术社区