要使图像变亮,可以对其应用白色雾度:
Bitmap bmp = new Bitmap(@"Image.png");
Rectangle r = new Rectangle(0, 0, bmp.Width, bmp.Height);
alpha = 128
using (Graphics g = Graphics.FromImage(bmp)) {
using (Brush cloud_brush = new SolidBrush(Color.FromArgb(alpha, Color.White))) {
g.FillRectangle(cloud_brush, r);
}
}
bmp.Save(@"Light.png");
Run Code Online (Sandbox Code Playgroud)
alpha值的范围为0到255. 0表示效果完全透明,从而产生原始图像.255表示效果完全不透明,从而产生纯白色矩形.这里,效果用128表示.
要使图像变暗,可以对其应用黑色阴影:
Bitmap bmp = new Bitmap(@"Image.png");
Rectangle r = new Rectangle(0, 0, bmp.Width, bmp.Height);
alpha = 128
using (Graphics g = Graphics.FromImage(bmp)) {
using (Brush cloud_brush = new SolidBrush(Color.FromArgb(alpha, Color.Black))) {
g.FillRectangle(cloud_brush, r);
}
}
bmp.Save(@"Dark.png");
Run Code Online (Sandbox Code Playgroud)
alpha值的范围为0到255. 0表示效果完全透明,从而产生原始图像.255表示效果完全不透明,从而产生纯黑色矩形.这里,效果用128表示.
小智 0
要更改图片亮度,您始终必须更改每个像素(如果它不是基于矢量图形)。迭代所有像素应该是我认为的唯一方法。也许有一个框架可以为您完成工作。或者您可以寻找一种将像素矩阵组合为子像素的快速算法。总而言之,有很多可能性。图像处理是一个复杂的话题。
您可以在这里找到一些示例:http://www.authorcode.com/making-image-editing-tool-in-c-brightness-of-an-image/
| 归档时间: |
|
| 查看次数: |
2390 次 |
| 最近记录: |