📄 pixelprocessorbase.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 + -