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
返回创建的颜色。

