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

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

  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 改变图片颜色

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

使用asp.net改变图片颜色的更多相关文章

  1. Android--ColorMatrix改变图片颜色

    前言 本篇博客讲解如何通过改变图片像素点RGB的值的方式,在Android中改变图片的颜色.在最后将以一个简单的Demo来作为演示. 本篇博客的主要内容: ColorMatrix 使用ColorMat ...

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

    原文链接:http://blog.csdn.net/janice0529/article/details/49207939 ColorMatrix的颜色矩阵介绍 颜色矩阵M是一个5*4的矩阵,在And ...

  3. 利用CSS3 filter:drop-shadow实现纯CSS改变图片颜色

    体验更优排版请移步原文:http://blog.kwin.wang/programming/css3-filter-drop-shadow-change-color.html 之前做项目过程中有时候遇 ...

  4. Android改变图片颜色的自定义控件

    效果如下: 理解:Xfermode的16总模式如图 第一步: package com.rong.activity; import com.rong.test.R; import android.con ...

  5. Drawable 添加过滤色,改变图片颜色

    /** * 更改图片颜色 * @param drawable * @param color * @return */ public Drawable getDrawable(Drawable draw ...

  6. iOS开发笔记--使用blend改变图片颜色

    最近对Core Animation和Core Graphics的内容东西比较感兴趣,自己之前也在这块相对薄弱,趁此机会也想补习一下这块的内容,所以之后几篇可能都会是对CA和CG学习的记录的文章. 在应 ...

  7. PS_0001:改变图片颜色 填充颜色

    1,创建新图存  ctrl + j 2,点击前景色按钮,改变颜色 3,前景色的键盘快捷键是“Alt+Delete”,背景色的键盘快捷键是“Ctrl+Delete”

  8. Egret中图片颜色的改变,颜色矩阵

    参考: 图片处理:颜色矩阵和坐标变换矩阵 Egret-滤镜 之前面试有问到如何改变图片的颜色.貌似之前做Flash的时候做过,做Egret后没有此类需求,所以一直没有研究过. 现在来弄一弄如何改变图片 ...

  9. 改变图片的颜色,UIImage改变颜色

    定义 #import <UIKit/UIKit.h> @interface UIImage (ChangeImageColor) /** * 改变图片的颜色 * * @param tint ...

随机推荐

  1. java 队列的使用(转载)

    转载声明:http://blog.csdn.net/lzy_lizhiyang/article/details/48311925 先我们要知道使用队列的目的是什么?一般情况下,如果是一些及时消息的处理 ...

  2. 团队作业4——第一次项目冲刺(Alpha版本)第三次

    一.会议内容 制定任务内容 制作leangoo表格 初步工作 二.各人工作 成员 计划任务 遇见难题 贡献比 塗家瑜(组长) api搭建 无 1 张新磊 数据库搭建完成 无 1 姚燕彬 功能测试 无 ...

  3. QJsonDocument实现Qt下JSON文档读写

    版权声明:若无来源注明,Techie亮博客文章均为原创. 转载请以链接形式标明本文标题和地址: 本文标题:QJsonDocument实现Qt下JSON文档读写     本文地址:http://tech ...

  4. LoadRunner脚本增强技巧之参数化(二)

    特别提醒: 1.在形成数据池之后,数据库中的数据变化不会影响数据池中的数据. 2.数据文件一定要以一个空行结束,否则,最后一行输入的数据不会被参数所使用. 3.一般我们用到的很多的都是使用数据文件来保 ...

  5. Apache Hadoop YARN – ResourceManager--转载

    原文地址:http://zh.hortonworks.com/blog/apache-hadoop-yarn-resourcemanager/ ResourceManager (RM) is the ...

  6. 矩阵快速幂模板(pascal)

    洛谷P3390 题目背景 矩阵快速幂 题目描述 给定n*n的矩阵A,求A^k 输入输出格式 输入格式: 第一行,n,k 第2至n+1行,每行n个数,第i+1行第j个数表示矩阵第i行第j列的元素 输出格 ...

  7. 【开发工具IDE】eclipse的web项目的tomcat安装部署问题

    一.发现问题 在eclipse中新建Dynamic Web Project,配置好本地的tomcat并写好代码后选择Run on Server,但运行后发现在tomcat的安装目录下的webapps并 ...

  8. C++解析(7):函数重载分析

    0.目录 1.重载的概念 2.C++中的函数重载 3.函数默认参数遇上函数重载 4.编译器调用重载函数的准则 5.重载与指针 6.C++和C相互调用 7.小结 1.重载的概念 自然语言中的上下文--你 ...

  9. HBase多租户机制分析

    在HBase1.1.0发布之前,HBase同一集群上的用户.表都是平等的,没有优劣之分.这种’大同’社会看起来完美,实际上有很多问题.最棘手的主要有这么两个,其一是某些业务较其他业务重要,需要在资源有 ...

  10. bzoj3884: 上帝与集合的正确用法(数论)

    感觉是今天洛谷月赛T3的弱化版,会写洛谷T3之后这题一眼就会写了... 还是欧拉扩展定理 于是就在指数上递归%phi(p)+phi(p)直到1,则后面的指数就都没用了,这时候返回,边回溯边快速幂.因为 ...