C#图片处理之:Gamma校正
2007-03-23 11:28
429 查看
gamma值是用曲线表示的,这是一种人的眼睛对光的一种感应曲线,其中包括了物理量、身理感官及心理的感知度。 -- 摘自百度知道
用C#做Gamma校正的操作也很简单。
/**//// <summary>
/// Gamma校正
/// </summary>
/// <param name="bmp">输入Bitmap</param>
/// <param name="val">[0 <-明- 1 -暗-> 2]</param>
/// <returns>输出Bitmap</returns>
public static Bitmap KiGamma(Bitmap bmp, float val)
...{
if (bmp == null)
...{
return null;
}
// 1表示无变化,就不做
if (val == 1.0000f) return bmp;
try
...{
Bitmap b = new Bitmap(bmp.Width, bmp.Height);
Graphics g = Graphics.FromImage(b);
ImageAttributes attr = new ImageAttributes();
attr.SetGamma(val, ColorAdjustType.Bitmap);
g.DrawImage(bmp, new Rectangle(0, 0, bmp.Width, bmp.Height), 0, 0, bmp.Width, bmp.Height, GraphicsUnit.Pixel, attr);
g.Dispose();
return b;
}
catch
...{
return null;
}
}
用C#做Gamma校正的操作也很简单。
/**//// <summary>
/// Gamma校正
/// </summary>
/// <param name="bmp">输入Bitmap</param>
/// <param name="val">[0 <-明- 1 -暗-> 2]</param>
/// <returns>输出Bitmap</returns>
public static Bitmap KiGamma(Bitmap bmp, float val)
...{
if (bmp == null)
...{
return null;
}
// 1表示无变化,就不做
if (val == 1.0000f) return bmp;
try
...{
Bitmap b = new Bitmap(bmp.Width, bmp.Height);
Graphics g = Graphics.FromImage(b);
ImageAttributes attr = new ImageAttributes();
attr.SetGamma(val, ColorAdjustType.Bitmap);
g.DrawImage(bmp, new Rectangle(0, 0, bmp.Width, bmp.Height), 0, 0, bmp.Width, bmp.Height, GraphicsUnit.Pixel, attr);
g.Dispose();
return b;
}
catch
...{
return null;
}
}
相关文章推荐
- C#图片处理之:Gamma校正
- C#图片处理之:Gamma校正
- C#图片处理之:Gamma校正 .
- 图像处理之gamma校正
- 【数字图像处理】图像的gamma校正
- 图像处理-光照规整-Gamma校正
- 图像处理之gamma校正
- 图像处理-光照规整-Gamma校正
- 【图像处理】Gamma校正
- C#图片处理之:亮度和对比度的校正
- js上传图片处理:压缩,旋转校正图片
- 图像处理之gamma校正
- C#图片处理之:亮度和对比度的校正 .
- 图像处理之Gamma校正
- 图像处理之Gamma校正
- 借用gamma校正的方法来调整图片(灰度)亮度(解决侧光问题)并将其再次保存为RGB图片
- C#图片处理之:亮度和对比度的校正
- C#图片处理之:亮度和对比度的校正
- C#图片处理之:亮度和对比度的校正
- HTML5/JavaScript 图像自动Gamma校正 — 打造图像处理类库第一步