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

C# 图片渐淡切换

编程学习2021-07-2557440


通过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

分享给朋友:

相关文章

C++实现十进制转换为二进制

C++实现十进制转换为二进制

这个写得有些早了,学习c++是写的。现在看到很多帖子问这个问题,把这个贴上来供大家参考下。/* * FileName: bin.cpp * * 转换十进制为二进制 * * Apull * 2005-12-2 */ #include <iostream> #include <cstdlib> using namespace std; const int size = sizeof(int) *...

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这个...

计算机蓝屏代码的含义

计算机蓝屏代码的含义

0 0x0000 作业完成。1 0x0001 不正确的函数。2 0x0002 系统找不到指定的档案。3 0x0003 系统找不到指定的路径。4 0x0004 系统无法开启档案。5 0x0005 拒绝存取。6 0x0006 无效的代码。7 0x0007 储存体控制区块已毁。8 0x0008 储存体空间不足,无法处理这个指令。9 0x0009 储存体控制区块地址无效。10 0x000A 环境不正确。11 0x000B 尝试加载一个格式错误的程序。12 0x000C 存取码错误。1...

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...