zoukankan      html  css  js  c++  java
  • C#编写滤镜 图片色调取反效果(Invert)

    转自:http://www.it165.net/pro/html/201208/3469.html

    Invert 英文叫做颠倒.. 原理很简单也就是 将 255- 原本的值..

    这样 0(黑) 就会变成  255(白) 反之 255(白) 就会变成 0(黑)

    所以公式就是将R、G、B 都用 255 去减..

    就可以拿到反转值,之所以会有这种效果需求跟以前底片有分正片根负片有关

    大部分大家都是用负片的底片,洗出来时候刚好反过来的颜色变成你看到的相片..

    C# Code:

    01.public System.Drawing.Bitmap ConvertToInvert(System.Drawing.Image img) {
    02.// 读入欲转换的图片并转成为 WritableBitmap www.it165.net
    03.System.Drawing.Bitmap bitmap = new System.Drawing.Bitmap(img);
    04.for (int y = 0; y < bitmap.Height; y++)
    05.{
    06.for (int x = 0; x < bitmap.Width; x++)
    07.{
    08.// 取得每一个 pixel
    09.var pixel = bitmap.GetPixel(x, y);
    10. 
    11.// 负片效果 将其反转
    12.System.Drawing.Color newColor = System.Drawing.Color.FromArgb(pixel.A, 255 - pixel.R, 255 - pixel.G, 255 - pixel.B);
    13. 
    14.bitmap.SetPixel(x, y, newColor);
    15. 
    16.}
    17.}
    18.// 显示结果
    19.return bitmap;
    20.}

    结果:

  • 相关阅读:
    Java 网络编程:(四)通信要素2:网络协议
    Java 网络编程:(三)通信要素1:IP和端口号
    Java 网络编程:(二)网络编程&网络通信
    学习进度条35
    学习进度条34
    学习进度条33
    学习进度条32
    学习进度条31
    学习进度条30
    学习进度条29
  • 原文地址:https://www.cnblogs.com/zkwarrior/p/5668137.html
Copyright © 2011-2022 走看看