zoukankan      html  css  js  c++  java
  • 鼠标移动调窗算法

    鼠标移动调窗算法
    y方向:C(窗位)
    x方向:W(窗宽)
                pImg->getMinMaxValues(dMin, dMax);

                m_dae.m_nCenterMin = dMin;
                m_dae.m_nCenterMax = dMax;
                   
                m_dae.m_nWidthMin = 1;
                m_dae.m_nWidthMax = 2 * 256 * (dMax - dMin);
                       
                //------------------------------------------------------

                int yShift = point.y - m_ptOrg.y;
                if (yShift != 0)
                {
                    m_attr.nCenter += yShift;
                    m_attr.nCenter = min(m_dae.nCenterMax, max(m_dae.nCenterMin, m_attr.nCenter));
                }
               
                int xShift = -(point.x - m_ptOrg.x);
                if (xShift != 0)
                {
                    int m = m_dae.nCenterMax - m_dae.nCenterMin;
                   
                    if ((m_attr.nWidth >= 1 && m_attr.nWidth < m)
                        || (m_attr.nWidth == m && xShift < 0))
                        m_attr.nWidth += xShift;
                    else if ((m_attr.nWidth > m && m_attr.nWidth <= m_dae.nWidthMax)
                        || (m_attr.nWidth == m && xShift > 0))
                    {                   
                        int i = 512 - 1.0 * m * 512 / m_attr.nWidth;
                        i += xShift;
                        i = min(511, max(0, i));
                       
                        m_attr.nWidth = 1.0 * m * 512 / (512 - i);               
                    }
                    m_attr.nWidth = min(m_dae.nWidthMax, max(m_dae.nWidthMin, m_attr.nWidth));
                }

                m_ptOrg = point;

  • 相关阅读:
    CF85E Guard Towers(二分答案+二分图)
    CF732F Tourist Reform(边双联通)
    CF949C Data Center Maintenance(建图+强联通分量)
    CF402E Strictly Positive Matrix(矩阵,强联通分量)
    CF209C Trails and Glades(欧拉路)
    POJ1201Intervals(差分约束)
    NOIP2016 天天爱跑步(树上差分)
    CF19E Fairy(树上差分)
    NOIP 2017 小凯的疑惑(同余类)
    POJ 3539 Elevator(同余类BFS)
  • 原文地址:https://www.cnblogs.com/vc60er/p/3998647.html
Copyright © 2011-2022 走看看