ImageAttributesクラスには、ガンマ値を指定して画像を補正する機能がある。
1 |
public void SetGamma(float gamma) |
gamma パラメーターは通常、1.0 ~ 2.2 の範囲の値です。ただし、状況によっては、0.1 ~ 5.0 の値が有効な場合があります。
ImageAttributes.SetGamma メソッド (Single) (System.Drawing.Imaging)
http://msdn.microsoft.com/ja-jp/library/fd50dwb0(v=vs.110).aspx
サンプルコード
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
static public Bitmap AdjustGamma(Bitmap image, float gamma) { Bitmap dest = new Bitmap(image.Width, image.Height); Graphics g = Graphics.FromImage(dest); ImageAttributes ia = new ImageAttributes(); ia.SetGamma(gamma); g.DrawImage(image, new Rectangle(0, 0, image.Width, image.Height), 0, 0, image.Width, image.Height, GraphicsUnit.Pixel, ia); g.Dispose(); return dest; } |
実行例
左からガンマ1.0、1.6、2.2