十二.積木效果
原理: 對圖像中的各個像素點著重(即加大分像素的顏色值)著色.
效果圖:
實現代碼:
積木效果
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));
呵呵, 到此
希望對大家有所幫助