图片饱和度更改,c#,winform
c#中Bitmap的颜色是RGB,需要转换为HSV之后进行处理。
xa,ya是饱和度调整的起点坐标,xb,yb是饱和度调整的起点坐标。
trackBar2是饱和度调整的滑动条,把50设为原点。
private Bitmap Baohedu(Bitmap oop, int xa, int xb, int ya, int yb){Bitmap nop;nop = oop.Clone() as Bitmap;double degree = trackBar2.Value / 50;int x, y;Color pixel;double R = 0, G = 0, B = 0, H = 0, S = 0, V = 0;double max = 0, min = 0;for (x = xa; x < xb; x++){for (y = ya; y < yb; y++){pixel = oop.GetPixel(x, y);R = (double)pixel.R;G = (double)pixel.G;B = (double)pixel.B;R = R / 100; G = G / 100; B = B / 100;max = Max(R, G, B);min = Min(R, G, B);V = max;if (max == 0) S = 0;else S = 1 - (min / max);if (max == min) H = 0;else if (max == R && G >= B) H = 60 * ((G - B) / (max - min));else if (max == R && G < B) H = 60 * ((G - B) / (max - min)) + 360;else if (max == G) H = 60 * ((B - R) / (max - min)) + 120;else if (max == B) H = 60 * ((R - G) / (max - min)) + 240;V = V * 100; S = S * 100; S = S * degree;if (S >= 100) S = 100;double C = 0, X = 0, Y = 0, Z = 0;int i = 0;S = S / 100.0;V = V / 100.0;if (S == 0) R = G = B = V;else{H = H / 60;i = (int)H;C = H - i;X = V * (1.0 - S);Y = V * (1 - S * C);Z = V * (1 - S * (1 - C));switch (i){case 0: R = V; G = Z; B = X; break;case 1: R = Y; G = V; B = X; break;case 2: R = X; G = V; B = Z; break;case 3: R = X; G = Y; B = V; break;case 4: R = Z; G = X; B = V; break;case 5: R = V; G = X; B = Y; break;}}R = R * 100; G = G * 100; B = B * 100;if (G >= 255) G = 255;if (R >= 255) R = 255;if (B >= 255) B = 255;if (G <= 0) G = 0;if (R <= 0) R = 0;if (B <= 0) B = 0;nop.SetPixel(x, y, Color.FromArgb((int)R, (int)G, (int)B));}}return nop;}private double Max(double a, double b, double c){double max = 0;max = a;if (max < b)max = b;if (max < c)max = c;return max;}private double Min(double a, double b, double c){double min = 0;min = a;if (min > b)min = b;if (min > c)min = c;return min;}
Easy_Example1.rar_winfrom对比度饱和度亮度调整-图像处理文档类资源-CSDN下载
这里的示例包括了这个功能。
图片饱和度更改,c#,winform相关推荐
- 小动画制作 图片盒子配合定时器 winform 114869633
小动画制作 图片盒子配合定时器 winform 114869633 目标一 让图片盒子与图片列表控件可以互动起来 让图片盒子控件的图片,从图片列表控件中获取 新建一个图片列表控件 把相关的图片加载 进 ...
- 图片盒子控件 winform 114868210
图片盒子控件 winform 114868210 引入控件 放图片 控制图片的大小 效果 图片变的与控件一模一样大
- 图片饱和度_做PPT时,文字放在图片上老是看不清,咋办?
来自:跟我学个P(ID:PPTlearning) 作者:装P编辑部 很多人在做PPT的时候都喜欢用图片作为背景,但图片背景不是你想用就能用的,因为用得不好的话就会出现以下惨不忍睹的效果: 今天给大伙儿 ...
- 二维码图片生成工具C#winform源码
二维码图片生成工具C#winform源码 源码描述: 一.源码特点 采用winform进行开发,生成二维码并保存,欢迎下载 二.功能介绍 本源码是一个可以自动生成二维码图片的小模块,可以添加自己的lo ...
- 怎么更改锁定计算机背景图片,电脑锁屏背景图片如何更改 电脑背景图片怎么换不了...
如何修改更换电脑桌面背景图片 win7更改桌面图片的方法: 1.首先用鼠标右键单击桌面的空白处.然后在弹出的菜单上选择"个性化"选项.这样就弹出了的个性化窗口上能显示看到" ...
- Opencv 3.4.2 +VS2015用摄像头采集图片并更改分辨率出现黑边的解决办法
Opencv 3.4.2 +VS2015用摄像头采集图片并更改分辨率出现黑边的解决办法 CSDN中已经有相当部分的博客写了如何利用OpenCV通过摄像头获取并保存图片,此处不再赘述.我遇到的问题是利用 ...
- img图片标签更改src并刷新
img图片标签更改src并刷新 今天在定时刷新页面中大量图片时遇到一些问题 1.如果用innerHTML方法直接将div中内容重写的话,刷新时候页面会闪烁,刷新越快闪烁越明显. 2.更改img标签的s ...
- 修改图片背景_用P图软件将图片背景更改
有很多软件都可以更改背景的颜色,我今天来说一下怎么用picsArt(美易)来更改图片的背景 ① 首先选择你想要更改背景的图片,选择剪影,他会大致勾选图片中的人物,但不是很灵敏,所以有些细节需要自己去勾 ...
- PHP调整图片饱和度,window_Win10系统电脑屏幕的饱和度如何调整?,什么是饱和度?
对电脑来说 - phpStudy...
Win10系统电脑屏幕的饱和度如何调整? 什么是饱和度? 对电脑来说,饱和度是指色彩的鲜艳程度,也称之为色彩的纯度. Win10系统电脑屏幕的饱和度如何调整?很多朋友都不是很清楚,其实方法很简单的,下 ...
最新文章
- firefox浏览器 插件--【维基百科+谷歌翻译】高级应用之 带图翻译
- mysql创建外键的表_Mysql表创建外键报错解决方案
- freetds mysql_apache+mysql+php+gd+freetds
- OSCACHE(转)
- Spring mvc 中处理模型数据 ModelAndView
- 使用c# .net core开发国标gb28181 sip +流媒体服务完成视频监控实例教程 亲身完美体验过程...
- Mysql varchar 字节长度
- 干货!Kaggle座头鲸识别落下帷幕,冠军方案解读
- is not a function_libcxx 的 std::function 源码分析
- 更改管理员密码以后网站不能启动
- Hive 内嵌模式安装指导
- SSH自动生成数据库
- Struts2 stracture
- visio连接线文字背景填充_visio教程:如何调整连接线上文字的位置?
- Fiddler 4——手机抓包工具
- WPS表格 JSA 学习笔记
- html如何将图片作为网页背景,html文档中如何把图片作为背景
- 高效率完成一次接入80个手游渠道SDK——游戏接入聚合SDK服务端篇
- linux下的串口编程
- [基础]-requests模块使用详解
热门文章
- 常用计算机高级语言有哪些,计算机高级语言包括哪些?
- java输出五行十一列星星_星是什么意思 星字五行属什么
- layer icon图标汇总
- linux zip压缩排除目录,Linux系统zip压缩命令详细参数,附文件排除选项的正确用法...
- gorilla websocket简易介绍
- alpha 测试(α测试)与beta测试(β测试)的区别?
- C/C++实现你的浪漫表白:浪漫流星雨表白程序,
- 网易我的世界服务器如何安组件,网易我的世界组件包怎么使用
- Android7.0及以上打开相机闪退,startActivityForResult报错解决
- 萌新的linux之旅16