当前位置: 首页 > news >正文

将指定图片控件中的图片闪烁

/// <summary>     
        /// 将指定图片控件中的图片闪烁
        /// </summary>
        /// <param name="pic">需要闪烁的图片控件</param>
        public static void FlashImage(object picBox)
        {
            try
            {
                Task.Run(() =>
                {
                    PictureBox pic = picBox as PictureBox;
                    if (pic == null)
                        Thread.CurrentThread.Abort();

                    System.Windows.Forms.Control.CheckForIllegalCrossThreadCalls = false;
                    //跨线程调用,.NET Framework 2.0会出现这个问题,可以在创建控件的基础句柄所在线程上异步执行指定委托

                    Bitmap bmp = new Bitmap(23, 23);//大小视情况而定,不要影响到界面其他地方
                    Graphics gph;
                    //从指定的Image对象创建新Graphics对象
                    Color colorTouMing = Color.FromArgb(0, 240, 240, 240);//透明颜色
                    gph = Graphics.FromImage(bmp);
                    Bitmap mybit = new Bitmap(pic.Image); //需要闪烁的PictureBox控件图片        
                    while (true)
                    {
                        gph.Clear(colorTouMing);
                        gph.DrawImage(mybit, 0, 0, 20, 20);
                        pic.Image = bmp;//接受到消息,图片跳动
                        Thread.Sleep(1000);

                        gph.Clear(colorTouMing);
                        gph.DrawImage(mybit, 0, 0, 23, 23);
                        pic.Image = bmp;//接受到消息,图片跳动
                        Thread.Sleep(1000);

                        gph.Clear(colorTouMing);
                        gph.DrawImage(mybit, 0, 0, 20, 20);
                        pic.Image = bmp;//接受到消息,图片跳动
                        Thread.Sleep(1000);

                        gph.Clear(colorTouMing);
                        gph.DrawImage(mybit, 0, 0, 23, 23);
                        pic.Image = bmp;//接受到消息,图片跳动
                        Thread.Sleep(1000);
                    }
                });
            }
            catch (Exception ex)
            {
                LogManager.WriteError("FlashImage", ex.StackTrace);
            }
        }

http://www.lryc.cn/news/97497.html

相关文章:

  • 【MySQL】表的增删查改
  • Python 爬虫的学习 day01 ,爬虫的基本知识, requests 和 charde模块, get函数的使用
  • 【数据挖掘】时间序列的傅里叶变换:用numpy解释的快速卷积
  • Chatgpt Web API 创建对话,免费,不计token数量,模仿网页提交对话
  • 嵌入式软件—RK3568开发环境搭建
  • 使用 OpenCV 和 GrabCut 算法进行交互式背景去除
  • 在Windows server 2012上使用virtualBox运行CentOS7虚拟机,被强制休眠(二)
  • sql学习笔记
  • Ubuntu 20.04.4 LTS安装Terminator终端(Linux系统推荐)
  • 22. 括号生成
  • WPF实战学习笔记05-首页界面
  • 一文带你迅速入门SprIngMVC,看这一篇就足够了!
  • js路由跳转时放弃正在pending的请求
  • LeetCode(sql)-0723
  • 【C++】开源:grpc远程过程调用(RPC)配置与使用
  • rabbitmq模块启动报java.net.SocketException: socket closed的解决方法
  • uni-app 中定时器的使用
  • 基于物联网、视频监控与AI视觉技术的智慧电厂项目智能化改造方案
  • 内网穿透远程查看内网监控摄像头
  • 【Flume 01】Flume简介、部署、组件
  • 三款即时通讯工具推荐:J2L3x、Telegram、WhatsApp 你选哪个?
  • C++ 单例模式(介绍+实现)
  • uniapp项目集成本地插件
  • MFC CList 类的使用
  • iptable防火墙
  • 二、SQL-5.DQL-9).执行顺序
  • Ubuntu通用镜像加速配置
  • Linux安装部署Nacos和sentinel
  • Vue3+ElementPlus+TS实现右上角消息数量实时更新
  • 去除重复字母(力扣)贪心 + 队列 JAVA