最近奇葩经理提出了奇葩的需求,要能在网站上改变图片的颜色,比如灰色的变成彩色,彩色的变成灰色,尼玛楼主的感受你们不懂!于是有了下面的代码。。。

用法:调用update_pixelColor方法并传参数即可

C#代码  
  1. #region 改变图片颜色
  2. /// <summary>
  3. /// 改变图片的颜色
  4. /// </summary>
  5. /// <param name="filePath">图片的完整路径</param>
  6. /// <param name="colorIndex">改变的颜色,true为灰色,false为彩色</param>
  7. public void update_pixelColor(string filePath, bool colorIndex)
  8. {
  9. Bitmap bmp = new Bitmap(Bitmap.FromFile(filePath));
  10. int value = 0;
  11. for (int i = 0; i < bmp.Height; i++)
  12. {
  13. for (int j = 0; j < bmp.Width; j++)
  14. {
  15. if (colorIndex)
  16. value = this.GetGrayNumColor(bmp.GetPixel(j, i));
  17. else
  18. value = this.GetHongNumColor(bmp.GetPixel(j, i));
  19. bmp.SetPixel(j, i, Color.FromArgb(value, value, value));
  20. }
  21. }
  22. bmp.Save(filePath);
  23. }
  24. /// <summary>
  25. /// 获取彩色单点像素
  26. /// </summary>
  27. /// <param name="posClr">单点像素</param>
  28. /// <returns>int</returns>
  29. private int GetHongNumColor(Color posClr)
  30. {
  31. return (posClr.R * 19595 + posClr.G * 38469 + posClr.B * 7472) >> 16;
  32. }
  33. /// <summary>
  34. /// 获取灰色单点像素
  35. /// </summary>
  36. /// <param name="posClr">单点像素</param>
  37. /// <returns>Color</returns>
  38. private int GetGrayNumColor(Color posClr)
  39. {
  40. //要改变ARGB
  41. return (posClr.R * 19595 + posClr.G * 38469 + posClr.B * 7472) >> 16;
  42. }
  43. #endregion 改变图片颜色

这个转换的比较慢 看到编程人生上有关于这方面的总结,哪天来研究一下

转载于:https://www.cnblogs.com/ranran/p/3905204.html

使用asp.net改变图片颜色相关推荐

  1. iOS 改变图片颜色

    在做项目的时候碰到了一个需求,把app的主题颜色改变成另外一种颜色,由于没有给出新的素材图片,需要把现有图片的颜色改变一下.下面是改变图片颜色的方法(一般对于单一颜色的图片) imageWithRen ...

  2. OpenCV for Python之改变图片颜色

    OpenCV for Python之改变图片颜色 1.环境 2 直接修改通道值 3.与.或.非.异或操作 Opencv4 官方文档 : https://docs.opencv.org/4.2.0/ O ...

  3. html怎么改变图片亮度,纯干货,前端学者的福音!如何使用css滤镜改变图片颜色...

    原标题:纯干货,前端学者的福音!如何使用css滤镜改变图片颜色 说到对图片进行处理,我们经常会想到PS,美图秀秀这类的图像处理工具.作为前端,全栈开发者,我们经常会需要处理一些特效,例如根据不同的状态 ...

  4. 图片使用css3滤镜改变图片颜色

    图片使用css3滤镜改变图片颜色 使用css3滤镜改变图片的颜色 代码如下 使用css3滤镜改变图片的颜色 我们在开发页面的时候,会遇到同一张图片滑过或点击的时候改变图片背景或颜色,一般情况下UI设计 ...

  5. Android 使用ColorMatrix改变图片颜色

    ColorMatrix的颜色矩阵介绍 颜色矩阵M是一个5*4的矩阵,在Android中,颜色矩阵M是以一维数组m=[a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t]的方 ...

  6. 利用CSS改变图片颜色的100种方法!

    (给前端大全加星标,提升前端技能) 来源: 前端指南 前言 "说到对图片进行处理,我们经常会想到PhotoShop这类的图像处理工具.作为前端开发者,我们经常会需要处理一些特效,例如根据不同 ...

  7. html图片颜色变深,利用CSS改变图片颜色的100种方法!

    前言 "说到对图片进行处理,我们经常会想到PhotoShop这类的图像处理工具.作为前端开发者,我们经常会需要处理一些特效,例如根据不同的状态,让图标显示不同的颜色.或者是hover的时候, ...

  8. Android开发——Java代码动态改变图片颜色

    前言 在Android开发当中,我们会遇到多张图片需要改变背景颜色,我们不能用代码写死,但是我们setBackgroundColor方法改变是会被把我们背景变成直角的,但是从用户体验感的角度来讲是带有 ...

  9. html如何加深图片,css怎么改变图片颜色

    当我们在做项目的时候,经常有许多个icon 图片两个或更多个颜色的版本,下面就来说说怎么用简单的css改变图片的颜色. 熟悉PS的人都应该知道混合模式,css3中也有两个与混合模式相关的属性,mix- ...

最新文章

  1. c#_限制TextBox输入类型仅可为“-” “.” 数字
  2. 电压越低采集的ad值反而变大_80多条关于AD转换设计的经验总结
  3. jvm性能调优 - 22JVM GC回顾
  4. Jquery 概念性内容编辑器
  5. what is the location of js when using run as server in Eclipse
  6. python hexdigest,Java方法,可以为Hex中的HMAC-SHA256提供与Python方法相同的输出
  7. [CodeForces gym 101630 J] 过路费(最短路)
  8. 有关域索引错误产生的原因及解决办法
  9. linux的idle命令,DBA 常用Linux命令
  10. 张家口全国计算机等级考试,河北省张家口市2018年上半年计算机等级考试公告...
  11. .gitignore中添加了忽略规则为何还是会提示版本更新,git如何清除部分文件的版本管理
  12. silverlight图形编辑livegeometry修改
  13. autocad不能画图_学了这50条CAD技巧,画图速度提10倍!
  14. java 调用三角函数_Java中的三角函数方法
  15. 你真的会开会吗?开会无用说
  16. springboot呼伦贝尔旅游网站的设计与实现毕业设计源码091833
  17. beyond compare怎么设置不比较文件修改时间?
  18. 做眼镜识别的人脸检测
  19. scratch做简单跑酷游戏_Scratch(七)篇外.用小动画和触碰能做大型游戏?
  20. 深入浅出的解释什么是tensor

热门文章

  1. 服务器高并发下出现大量的time wait的解决办法
  2. 图的存储结构(邻接矩阵)
  3. jquery获取input值
  4. 带头结点的单链表删除
  5. 诗与远方:无题(五十九)
  6. getClass().getProtectionDomain().getCodeSource().getLocation().toURI().getSchemeSpecificPart()返回内容解析
  7. 解析xml_QT开发(四十四)——流方法解析XML
  8. win7系统怎么拷贝到u盘_win7/10系统复制文件到u盘提示文件过大怎么办
  9. golang 学习笔记
  10. 刷前端面经笔记(二)