如果您覺得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);
}
}