我正在尝试将图像的红色值增加 50%。这是我的代码:
public static Bitmap IncreaseRedFiftyPercent(Bitmap b)
{
Bitmap temp = (Bitmap) b;
Bitmap bmap = (Bitmap)temp.Clone();
Color c;
for (int i = 0; i < bmap.Width; i++)
{
for (int j = 0; j < bmap.Height; j++)
{
c = bmap.GetPixel(i, j);
byte increase = c.R + c.R * 0.5; //This line gives error
bmap.SetPixel(i, j, Color.FromArgb(increase, c.G, c.B));
}
}
b = (Bitmap)bmap.Clone();
return b;
}
这是我所做的:我读取图片的所有像素,并将红色值增加百分之五十并保持蓝色和绿色相同。但是线
byte increase = c.R + c.R * 0.5; //This line gives error
给我一个错误说
Cannot implicitly convert type 'double' to 'byte'. An explicit conversion exists (are you missing
a cast?)
而且我不能将双精度转换为字节?我在做什么看起来很明智,这里有什么问题?
谢谢