这可能很容易,但我迷失了如何"确定"它在这个范围内..
所以基本上我们有class Color
很多功能可以从中实现.
我需要的这个功能是:
效果:将颜色值更正为0-255(含).如果值超出此范围,则调整为0或255,以较近者为准.
这是我到目前为止:
static int correctValue(int value)
{
if(value<0)
value=0;
if(value>255)
value=255;
}
Run Code Online (Sandbox Code Playgroud)
对不起这么简单的问题; /
GMa*_*ckG 12
很好.我建议制作一个clamp
可重用的功能:
template <typename T>
void clamp(T& pValue, const T& pMin, const T& pMax)
{
pValue = std::min(std::max(pValue, pMin), pMax);
}
template <typename T>
T clamp_copy(T pValue, const T& pMin, const T& pMax)
{
clamp(pValue, pMin, pMax);
return pValue;
}
Run Code Online (Sandbox Code Playgroud)
这给你一个就地和复制clamp
:
int i = 50;
j = clamp_copy(i, 0, 10);
k = clamp_copy(i, 100, 1000);
clamp(i, 0, 100);
// i = 50
// j = 10
// k = 100
Run Code Online (Sandbox Code Playgroud)
很公平.但你错过了最终的回复声明
static int correctValue(int value)
{
if(value<0) return 0;
if(value>255) return 255;
return value;
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
974 次 |
最近记录: |