首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> 關於C語言

C# 超酷圖像特效(一):底片效果實作

     編輯:關於C語言

前言

本系列第一篇,實作最基礎的「底片效果」:RGB 各通道取反 (255 - value),產生底片負片視覺。

效果原理

  1. 對每像素 (x,y),讀取 RGB。
  2. 計算反色:R' = 255-R, G' = 255-G, B' = 255-B。
  3. 寫回新位圖並顯示。

完整程式碼


private void btnNegative_Click(object sender, EventArgs e)
{
    try
    {
        int w = pictureBox1.Image.Width, h = pictureBox1.Image.Height;
        using (var newBmp = new Bitmap(w, h))
        using (var oldBmp = (Bitmap)pictureBox1.Image)
        {
            for (int x = 1; x < w; x++)
                for (int y = 1; y < h; y++)
                {
                    Color p = oldBmp.GetPixel(x, y);
                    int r = 255 - p.R;
                    int g = 255 - p.G;
                    int b = 255 - p.B;
                    newBmp.SetPixel(x, y, Color.FromArgb(r, g, b));
                }
            pictureBox1.Image = newBmp;
        }
    }
    catch (Exception ex) { MessageBox.Show(ex.Message, "提示"); }
}

效果圖

底片效果

原始圖片:原始圖片

系列導讀

本系列共 12 篇,涵蓋:底片、浮雕、黑白、柔化、銳化、霧化、光照、百葉窗、馬賽克、油畫、積木。核心技術:Bitmap.GetPixel/SetPixel、Graphics.DrawImage、卷積核、隨機取樣、距離衰減。後續將展示動態特效 (分塊合成、四周擴散、上下對接)。

結語

底片效果是像素級運算的 Hello World。掌握 Bitmap、Color、Graphics 基礎操作,即可進入豐富的圖像處理世界。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved