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

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

編輯:關於C語言

十二.積木效果

原理: 對圖像中的各個像素點著重(即加大分像素的顏色值)著色.

效果圖:

實現代碼:

積木效果
private void button1_Click(object sender, EventArgs e)
    {
      //以積木效果顯示圖像
      try
      {
        Graphics myGraphics = this.panel1.CreateGraphics ();
        //Bitmap myBitmap = new Bitmap(this.BackgroundImage);
        int myWidth, myHeight, i, j, iAvg, iPixel;
        Color myColor, myNewColor;
        RectangleF myRect;
        myWidth = MyBitmap.Width;
        myHeight = MyBitmap.Height;
        myRect = new RectangleF(0, 0, myWidth, myHeight);
        Bitmap bitmap = MyBitmap.Clone(myRect, System.Drawing.Imaging.PixelFormat.DontCare);
        i = 0;
        while (i < myWidth - 1)
        {
          j = 0;
          while (j < myHeight - 1)
          {
            myColor = bitmap.GetPixel(i, j);
            iAvg = (myColor.R + myColor.G + myColor.B) / 3;
            iPixel = 0;
            if (iAvg >= 128)
              iPixel = 255;
            else
              iPixel = 0;
            myNewColor = Color.FromArgb(255, iPixel, iPixel, iPixel);
            bitmap.SetPixel(i, j, myNewColor);
            j = j + 1;
          }
          i = i + 1;
        }
        myGraphics.Clear(Color.WhiteSmoke);
        myGraphics.DrawImage(bitmap, new Rectangle(0, 0, myWidth, myHeight));
      }
      catch (Exception ex)
      {
        MessageBox.Show(ex.Message, "信息提示");
      }
    }

說明.這些大多為靜態圖. 後面會有圖像的動態顯示. 如分塊合成圖像, 四周擴散顯示圖像, 上下對接顯示圖像等.

這些也許能說明一下 PPT或者手機中的圖片效果處理程序是如果做出來的.原理應該是相通的.

制作圖像一般常用的類有: Bitmap; Graphics; Rectangle;Color; 用到的方法是 Graphics類的DrawImage;

此方法共有30個版本, 我習慣用 DrawImage("圖像", "圖框") 版本.

因為這個版本的思想是最簡單的----把一張**地圖像裝在一個**地框裡! (**代表某種效果的圖像和某種效果的框)

如. g.DrawImage(new Bitmap("myPicture"), new Rectangle(0, 0, myWidth, myHeight));

呵呵, 到此

希望對大家有所幫助

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