当前位置:首页 > 编程学习 > C# 图片渐淡切换

C# 图片渐淡切换

编程学习2021-07-2541460


通过Color.FromArgb里的A,也就是透明度的变化来实现图片渐淡切换的效果。

看图:

C# 图片渐淡切换.gif 图片渐淡切换  编程 技术 .NET 第1张


代码很简单,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

返回创建的颜色。




扫描二维码推送至手机访问。

版权声明:本文由海阔天空发布,如需转载请注明出处。

本文链接:https://apull.net/html/20210725195715.html

分享给朋友:

相关文章

关于学习编程和C语言

关于学习编程和C语言

关于学习编程和C语言  转自 开复网 Q:该怎么学习编程?  A:首先问你一个问题:你们在学校都学些什么课程? 问这个问题的原因是,我认为学校的计算机科学基础课很重要。如果你所在学校的课程设置合理,那你应该先把主要精力花在这些基础课上。很多学生看到基础理论就茫然,不知道这些图表,符号,甚至硬件的知识对将来的软件开发有什么用。用处大得很哪。比如,操作系统课里讲到的多线程的东西在系统编程里很有用。又比如,尽管你将来不会去涉及电脑的...

 C++ string类常用函数

C++ string类常用函数

string类的构造函数:string(const char *s);    //用c字符串s初始化 string(int n,char  c);     //用n个字符c初始化此外,string类还支持默认构造函数和复制构造函数,如string s1;string  s2="hello";都是正确的写法。...

VB连接SQLServer数据库操作代码

VB连接SQLServer数据库操作代码

第一步,在ModConString模块中定义一系列变量'定义一个属性过程反映连接字符串Public Property Get conString() As Variant conString = "data source=.;initial catalog=Sims_four;user End Property'定义一个提供者反映数据库类型Public Property Get conProvide() As Variant co...

VB/VB.net 只允许运行一个实例

VB/VB.net 只允许运行一个实例

VB/VB.net  只允许运行一个实例       by:  Apull  VB中的实现方法VB如何防止程序被重复加载,也就是只允许运行一个实例,一般有2种方法。一,直接用VB提供的APP对象的PrevInstance方法。PrevInstance的返回值为True则说明已经有一个实力在运行。If App.PrevInstance Then Msgbox "已经有一个实例在运行" End if这个...