zoukankan      html  css  js  c++  java
  • PluginWindowlessWin

    实际绘图发生在我的本机代码中的屏幕外目标上,每次刷新都会调用myplugin :: onWindowRefresh,它会将StretchBlt调用到插件的无窗口窗口,代码如下,

    FB::PluginWindowlessWin *win = dynamic_cast<FB::PluginWindowlessWin*>(pluginWindow);
    dstHdc = win->getHDC();
    if(srcDib && dstHdc)
    {
      FB::Rect r = win->getWindowPosition();
      int dstWidth = r.right - r.left; 
      int dstHeight = r.bottom - r.top;
    
      SetStretchBltMode(dstHdc, HALFTONE);
      StretchDIBits(dstHdc, r.left, r.top, dstWidth, dstHeight, 0, 0, srcWidth, srcHeight,
      srcDib->GetBits(), srcDib->GetBitmapInfo(), DIB_RGB_COLORS, SRCCOPY);
    }
    ======================================================================

    事实证明,修复此问题是使用RefreshEvent中的边界而不是getWindowPosition。

    FB::Rect r = dynamic_cast<FB::RefreshEvent*>(evt)->bounds;
    

    这可能会解决您的问题。

  • 相关阅读:
    软件工程第四次作业
    软件工程第三次作业
    图片
    软件工程第二次作业
    软件工程第一次作业
    我的大学生活-3-35-任延勇
    我的未来只有我知道
    cpu占用率高排查知识点
    LeetCode字符串题目
    hashmap
  • 原文地址:https://www.cnblogs.com/wainiwann/p/10819344.html
Copyright © 2011-2022 走看看