C# 图片渐淡切换
通过Color.FromArgb里的A,也就是透明度的变化来实现图片渐淡切换的效果。
看图:
代码很简单,picbox的图片增加透明度,直到完全透明,这样picbox的背景图会渐渐显示出来了。
private void button1_Click(object sender, EventArgs e) { swapImg(); } private void swapImg() { picbox.BackgroundImage = Properties.Resources.pic2; Bitmap pic = (Bitmap)Properties.Resources.pic1.Clone(); for (int i = 255; i >= 0; i -= 15) { for (int j = 0; j < pic.Height; j++) { for (int k = 0; k < pic.Width; k++) { Color c = Color.FromArgb(i, pic.GetPixel(j, k)); pic.SetPixel(j, k, c); } } picbox.Image = pic; picbox.Update(); System.Threading.Thread.Sleep(50); Application.DoEvents(); } pic.Dispose(); }
Color.FromArgb(Int32, Color)方法
public static System.Drawing.Color FromArgb (int alpha, System.Drawing.Color baseColor);
从指定的Color结构baseColor创建一个新的有透明度的Color,尽管此方法允许为alpha传递32位的值,但该值仅限于8位。
参数
alpha:Int32
新颜色的透明度,有效值为 0 到 255。
baseColor:Color
基于该颜色创造新的颜色。
返回值
Color
返回创建的颜色。