程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> 關於C語言 >> 超酷的圖像效果 (附demo; C#完成)

超酷的圖像效果 (附demo; C#完成)

編輯:關於C語言

如果您覺得C#制作的藝術字比較好玩, 但是還覺得沒看夠,不過瘾,那麼我今天就讓您一飽眼福, 看看C#如何制作的效果超酷的圖像.

(注: 我之前曾寫過類似的文章, 但沒有原理說明, 代碼注釋不夠詳細, 也沒有附相應的 Demo...因此如果您覺得好像哪看過類似的文章可以看看我之前寫的...)

為了演示後面的效果, 這裡有必要先讓大家看看今天的原始圖片: ISINBAEVA ~~~~~~~~

一. 底片效果

原理: GetPixel方法獲得每一點像素的值, 然後再使用SetPixel方法將取反後的顏色值設置到對應的點.

效果圖:

代碼實現:

底片效果
    private void button1_Click(object sender, EventArgs e)
    {
      //以底片效果顯示圖像
      try
      {
        int Height = this.pictureBox1.Image.Height;
        int Width = this.pictureBox1.Image.Width;
        Bitmap newbitmap = new Bitmap(Width, Height);
        Bitmap oldbitmap = (Bitmap)this.pictureBox1.Image;
        Color pixel;
        for (int x = 1; x < Width; x++)
        {
          for (int y = 1; y < Height; y++)
          {
            int r, g, b;
            pixel = oldbitmap.GetPixel(x, y);
            r = 255 - pixel.R;
            g = 255 - pixel.G;
            b = 255 - pixel.B;
            newbitmap.SetPixel(x, y, Color.FromArgb(r, g, b));
          }
        }
        this.pictureBox1.Image = newbitmap;
      }
      catch (Exception ex)
      {
        MessageBox.Show(ex.Message, "信息提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
      }
    }

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved