【发布时间】:2011-11-29 17:39:58
【问题描述】:
我一直在使用微软here的算法:
INT iWidth = bitmap.GetWidth();
INT iHeight = bitmap.GetHeight();
Color color, colorTemp;
for(INT iRow = 0; iRow < iHeight; iRow++)
{
for(INT iColumn = 0; iColumn < iWidth; iColumn++)
{
bitmap.GetPixel(iColumn, iRow, &color);
colorTemp.SetValue(color.MakeARGB(
(BYTE)(255 * iColumn / iWidth),
color.GetRed(),
color.GetGreen(),
color.GetBlue()));
bitmap.SetPixel(iColumn, iRow, colorTemp);
}
}
创建渐变 alpha 混合。他们的从左到右,我需要一个从下到上的,所以我改变了他们的路线
(BYTE)(255 * iColumn / iWidth)
到
(BYTE)(255 - ((iRow * 255) / iHeight))
这使得第 0 行的 alpha 值为 255,直到最后一行的 alpha 值为 8。
如何更改计算以使 alpha 从 255 变为 0(而不是 255 到 8)?
【问题讨论】: