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

C# 图片渐淡切换

编程学习2021-07-2552690


通过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://www.apull.net/html/20210725195715.html

分享给朋友:

相关文章

代码迷惑技术如何保护Java免遭逆向工程

代码迷惑技术如何保护Java免遭逆向工程

很少有问题比程序员遇到不访问无法利用的源代码就无法解决的漏洞更令人沮丧的了。你是否在通过一个在线开源库修补代码,或正在调用常用操作系统例行程序;你可能每周都要花时间处理不是由你编写,因而也无法访问其源代码的代码。因为Java字节码包含许多和原始代码相同的信息,所以很容易对Java类文件执行逆向工程。另外,Java程度以其“一旦编写,随处运行”特性而闻名。虽然并非Java语言的专利,但代码反编译从未在Java开发者之中得到如此公开或普遍地利用。反编译的对...

致面向对象技术初学者的一封公开信

致面向对象技术初学者的一封公开信

 致面向对象技术初学者的一封公开信 Alistair Cockburn 著(1996 年2 月),袁峰 译介绍 首先我要解释一下为什么会写这封公开信。这似乎已经成了一种习惯,但这个步骤还是需要的。过去6 年中, 我曾经无数次地在饭店、酒吧、旅店大厅等各种地方以同一种方式度过愉快而漫长的夜晚:和同样追求真理、光明和智慧的伙伴一起探讨面向对象的真谛。现在,我已经可以回答很多当年我遇到的问题。这些同样的问题也在困扰着我的一位新同事,在一家饭店里,我花了整整一个晚上和他讨...

ASP错误提示大全

ASP错误提示大全

Microsoft VBScript 语法错误(0×800A03E9)–>内存不足Microsoft VBScript 语法错误(0×800A03EA)–>语法错误Microsoft VBScript 语法错误(0×800A03EB)–>缺少’:’Microsoft VBScript 语法错误(0×800A03ED)–>缺少’(’Mi...

SetTimer(), KillTimer() 使用

SetTimer(), KillTimer() 使用

SetTimer函数的用法  1 )用WM_TIMER来设置定时器  先请看SetTimer这个API函数的原型  UINT_PTR SetTimer(   HWND hWnd, // 窗口句柄   UINT_PTR nIDEvent, // 定时器ID,多个定时器时,可以通过该ID判断是哪个定时器   UINT uElapse, // 时间间隔,单位为毫秒   TIMERPROC lpTimerFunc // 回调函数   );例如  SetTimer...