⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 pixelprocessorbase.inl

📁 本人有关PLC测试源码
💻 INL
字号:


//-----------------------------------------------------------------------------
inline BOOL FCPixelFillColor::ValidateColorBits (const FCObjImage* pImg)
{
    if (pImg->IsValidImage() && (pImg->ColorBits() >= 24))
    {
        m_bIsFillAlpha = ((m_nAlpha != -1) && (pImg->ColorBits() == 32)) ;
        if (m_bIsFillAlpha)
        {
            PCL_A(&m_crFill) = FClamp0255(m_nAlpha) ;
        }
        return true ;
    }
    return false ;
}

//-----------------------------------------------------------------------------
inline void FCPixelGradientBase::ProcessPixel (FCObjImage* pImg, int x, int y, BYTE* pPixel)
{
    double     fFac = this->CalculateFactor (x, y) ;
    switch (m_nRepeat)
    {
        case REPEAT_NONE : fFac = FClamp (fFac, 0.0, 1.0); break;
        case REPEAT_SAWTOOTH : // 锯齿波重复
            if (fFac < 0.0)
                fFac = 1.0 - FDoubleMod1 (-fFac) ;
            else
                fFac = FDoubleMod1 (fFac) ;
            break ;
        case REPEAT_TRIANGULAR : // 三角波重复
            if (fFac < 0.0)
                fFac = -fFac ;
            if ( ((int)fFac) & 1 )
                fFac = 1.0 - FDoubleMod1 (fFac) ;
            else
                fFac = FDoubleMod1 (fFac) ;
            break ;
    }
    PCL_B(pPixel) = (BYTE)(PCL_B(&m_crStart) + (PCL_B(&m_crEnd)-PCL_B(&m_crStart)) * fFac) ;
    PCL_G(pPixel) = (BYTE)(PCL_G(&m_crStart) + (PCL_G(&m_crEnd)-PCL_G(&m_crStart)) * fFac) ;
    PCL_R(pPixel) = (BYTE)(PCL_R(&m_crStart) + (PCL_R(&m_crEnd)-PCL_R(&m_crStart)) * fFac) ;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -