wpf中轮询显示图片

       本文的需求是,在一个文件夹中,放一堆图片的集合,然后在wpf程序中,按照定时的方式,循序显示照片。

全部代码

1.声明一个PictureInfo类

namespace WpfApp1
{public class PictureInfo{public string? FileName { get; set; }public string? FilePath { get; set; }}
}

2. 前端界面

<Window x:Class="WpfApp1.MainWindow"xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"xmlns:d="http://schemas.microsoft.com/expression/blend/2008"xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"xmlns:local="clr-namespace:WpfApp1"mc:Ignorable="d"Title="MainWindow" Height="450" Width="800"><StackPanel><Button Content="开始" Click="Button_Click" /><UniformGrid Grid.Row="2" Rows="2" Columns="5" Background="Beige"   ><!--<TextBlock Text="123"/><Image Source="/imgs/1.jpg"   Height="180" />--><StackPanel Margin="5,0,0,0"  ><TextBlock x:Name="txt1"  /><Image x:Name="img1"    Height="180" /></StackPanel><StackPanel Margin="5,0,0,0"><TextBlock x:Name="txt2"  /><Image  x:Name="img2"    Height="180" /></StackPanel><StackPanel Margin="5,0,0,0"><TextBlock  x:Name="txt3" /><Image   x:Name="img3"    Height="180" /></StackPanel><StackPanel  Margin="5,0,5,0"><TextBlock x:Name="txt4" /><Image  x:Name="img4"    Height="180" /></StackPanel><StackPanel  Margin="5,0,0,0"><TextBlock x:Name="txt5" /><Image x:Name="img5"     Height="180" /></StackPanel><StackPanel  Margin="5,0,0,0"><TextBlock x:Name="txt6" /><Image   x:Name="img6"    Height="180" /></StackPanel><StackPanel Margin="5,0,0,0" ><TextBlock x:Name="txt7" /><Image x:Name="img7"    Height="180" /></StackPanel><StackPanel  Margin="5,0,5,0"><TextBlock x:Name="txt8" /><Image x:Name="img8"     Height="180" /></StackPanel><StackPanel Margin="5,0,0,0" ><TextBlock x:Name="txt9" /><Image x:Name="img9"    Height="180" /></StackPanel><StackPanel  Margin="5,0,5,0"><TextBlock x:Name="txt10" /><Image x:Name="img10"     Height="180" /></StackPanel></UniformGrid></StackPanel>
</Window>

3.后端代码

此处的fileNames可以换做内存读取图片的集合

补充:在内存中转化图片的时候,有很多格式,其中

jpg,格式小

bmp,格式大

png,格式适中

using System.IO;
using System.Windows;
using System.Windows.Media.Imaging;
using System.Windows.Threading;namespace WpfApp1
{/// <summary>/// Interaction logic for MainWindow.xaml/// </summary>public partial class MainWindow : Window{/// <summary>/// 计时器/// </summary>DispatcherTimer timer = new DispatcherTimer();//获取图片的数据string[] fileNames = null;public MainWindow(){InitializeComponent();timer.Interval = new TimeSpan(0, 0, 2);//时 分 秒timer.Tick += new EventHandler(timer_Tick);fileNames = Directory.GetFiles(@"C:\\Users\\60287\\Desktop\\Excel\\3", "*.jpg");}private void Button_Click(object sender, RoutedEventArgs e){timer.Start();}/// <summary>/// 计时器事件/// </summary>int count = 0;private void timer_Tick(object sender, EventArgs e){if (count == 12)//12组照片,每组10张照片{count = 0;//播放完毕,重新开始}List<PictureInfo> lstPics = new List<PictureInfo>();var data = fileNames.Skip(10 * count).Take(10);count++;for (int i = 0; i < data.Count(); i++){PictureInfo pic = new PictureInfo();pic.FileName = "Picture" + i.ToString();pic.FilePath = data.ToArray()[i].ToString();lstPics.Add(pic);}txt1.Text = lstPics[0].FileName;img1.Source = new BitmapImage(new Uri(lstPics[0].FilePath));txt2.Text = lstPics[1].FileName;img2.Source = new BitmapImage(new Uri(lstPics[1].FilePath));txt3.Text = lstPics[2].FileName;img3.Source = new BitmapImage(new Uri(lstPics[2].FilePath));txt4.Text = lstPics[3].FileName;img4.Source = new BitmapImage(new Uri(lstPics[3].FilePath));txt5.Text = lstPics[4].FileName;img5.Source = new BitmapImage(new Uri(lstPics[4].FilePath));txt6.Text = lstPics[5].FileName;img6.Source = new BitmapImage(new Uri(lstPics[5].FilePath));txt7.Text = lstPics[6].FileName;img7.Source = new BitmapImage(new Uri(lstPics[6].FilePath));txt8.Text = lstPics[7].FileName;img8.Source = new BitmapImage(new Uri(lstPics[7].FilePath));txt9.Text = lstPics[8].FileName;img9.Source = new BitmapImage(new Uri(lstPics[8].FilePath));txt10.Text = lstPics[9].FileName;img10.Source = new BitmapImage(new Uri(lstPics[9].FilePath));}}
}

4.运行效果

本文来源:

wpf中轮询显示图片-CSDN博客

源码地址:

https://download.csdn.net/download/u012563853/89580787

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/50240.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

uni-app全局文件与常用API

文章目录 rpx响应式单位import导入css样式及scss变量用法与static目录import导入css样式uni.scss变量用法 pages.json页面路由globalStyle的属性pages设置页面路径及窗口表现tabBar设置底部菜单选项及iconfont图标 vite.config中安装插件unplugin-auto-import自动导入vue和unia…

探索Perl的奇妙世界:入门学习与实战指南

一、Perl语言概述 1.1 Perl的起源与发展 Perl&#xff08;Practical Extraction and Reporting Language&#xff09;是一种高级、解释型、动态编程语言&#xff0c;由Larry Wall于1987年发明。Perl的初衷是作为一种文本处理工具&#xff0c;帮助系统管理员在Unix系统中处理报…

Godot游戏制作 04平台设计

新建创景&#xff0c;添加AnimatableBody2D节点。 添加Sprite2D节点 拖动图片 剪裁图片&#xff0c;吸附模式&#xff1a;像素吸附 添加CollisionShape2D&#xff0c;设置实际形状为矩形 重命名AnimatableBody2D节点为Platform&#xff0c;保存场景&#xff0c;拖动platform场景…

数据库(MySQL)-视图、存储过程、触发器

一、视图 视图的定义、作用 视图是从一个或者几个基本表&#xff08;或视图&#xff09;导出的表。它与基本表不同&#xff0c;是一个虚表。但是视图只能用来查看表&#xff0c;不能做增删改查。 视图的作用&#xff1a;①简化查询 ②重写格式化数据 ③频繁访问数据库 ④过…

Photos框架 - 自定义媒体资源选择器(数据部分)

引言 在iOS开发中&#xff0c;系统已经为我们提供了多种便捷的媒体资源选择方式&#xff0c;如UIImagePickerController和PHPickerViewController。这些方式不仅使用方便、界面友好&#xff0c;而且我们完全不需要担心性能和稳定性问题&#xff0c;因为它们是由系统提供的&…

计算机毕业设计django+hadoop+scrapy租房可视化 租房推荐系统 租房大屏可视化 租房爬虫 spark 58同城租房爬虫 房源推荐系统

python scrapy bootstrap jquery css javascript html 租房信息数据展示 租房地址数量分布 租房类型统计 租房价格统计分析 租房面积分析 房屋朝向分析 房屋户型平均价格统计分析 房屋楼层统计分析 房屋楼层与价格统计分析 房屋地址与价格统计分析 房屋相关信息词云展示 租房…

字符指针专题

有任何不懂的问题可以评论区留言&#xff0c;能力范围内都会一一回答 #define _CRT_SECURE_NO_WARNING #include <stdio.h> int main(void) {char a w;char* b &a;*b q;printf("%c\n",*b);return 0; } 这是字符指针的普通用法&#xff0c;和一般指针无…

在服务器上同时训练多个深度学习模型【nohup、后台、重定向】

在服务器上同时训练多个深度学习模型 在服务器上跑深度学习或其他程序时&#xff0c;如果程序没有提供命令行参数设置&#xff0c;我们常常需要多次修改代码后重新部署。本文将介绍如何通过命令行工具和编辑器查看代码特定行的方法&#xff0c;并展示如何同时训练多个基于不同…

.NET程序集编辑器/调试器 dnSpy 使用介绍

原文链接&#xff1a;https://www.cnblogs.com/zhaotianff/p/17352882.html dnSpy dnSpy是一个.NET程序集调试器和编辑器。它可以用它来编辑和调试程序集&#xff0c;即使在没有源码的情况下。 主要功能&#xff1a; 调试.NET和Unity程序集 编辑.NET和Unity程序集 项目地…

【解决方案】华普微汽车智能钥匙解决方案

一、方案概述 1.什么是被动式无钥匙进入 "被动式无钥匙进入"&#xff08;Passive Keyless Entry&#xff09;是一种用于车辆、建筑物或其他设施的访问控制系统。它利用无线射频技术自动判断用户是否接近&#xff0c;并进行身份识别以执行开锁或落锁动作&#xff0c…

【23】Android高级知识之Window(四) - ThreadedRenderer

一、概述 在上一篇文章中已经讲了setView整个流程中&#xff0c;最开始的addToDisplay和WMS跨进程通信的整个过程做了什么。继文章Android基础知识之Window(二)&#xff0c;这算是另外一个分支了&#xff0c;接着讲分析在performTraversals的三个操作中&#xff0c;最后触发pe…

基于Golang+Vue3快速搭建的博客系统

WANLI 博客系统 项目介绍 基于vue3和gin框架开发的前后端分离个人博客系统&#xff0c;包含md格式的文本编辑展示&#xff0c;点赞评论收藏&#xff0c;新闻热点&#xff0c;匿名聊天室&#xff0c;文章搜索等功能。 项目在线访问&#xff1a;http://bloggo.chat/ 或 http:/…

【Web】LitCTF 2024 题解(全)

目录 浏览器也能套娃&#xff1f; 一个....池子&#xff1f; 高亮主题(划掉)背景查看器 百万美元的诱惑 SAS - Serializing Authentication exx 浏览器也能套娃&#xff1f; 随便试一试&#xff0c;一眼ssrf file:///flag直接读本地文件 一个....池子&#xff1f; {…

OAK相机支持的图像传感器有哪些?

相机支持的传感器 在 RVC2 上&#xff0c;固件必须具有传感器配置才能支持给定的相机传感器。目前&#xff0c;我们支持下面列出的相机传感器的开箱即用&#xff08;固件中&#xff09;传感器配置。 名称 分辨率 传感器类型 尺寸 最大 帧率 IMX378 40563040 彩色 1/2.…

从0到1:理发店预约剪发小程序开发笔记(上)

背景 理发师可以在小程序上设置自己的可预约时间&#xff0c;价格&#xff0c;自我介绍&#xff0c;顾客可以根据理发师的日程安排选择合适的时间进行预约和支付。这样可以提高预约的效率&#xff0c;减少沟通成本&#xff0c;方便双方的安排。 功能规划 首页展示&#xff1…

基于多种机器学习的豆瓣电影评分预测与多维度可视化【可加系统】

有需要本项目的代码或文档以及全部资源&#xff0c;或者部署调试可以私信博主 在本研究中&#xff0c;我们采用Python编程语言&#xff0c;利用爬虫技术实时获取豆瓣电影最新数据。通过分析豆瓣网站的结构&#xff0c;我们设计了一套有效的策略来爬取电影相关的JSON格式数据。…

第1章 初识 C 语言

目录 1.1 C 语言的起源 1.2 选择 C 语言的理由 1.2.1 设计特性 1.2.2 高效性 1.2.3 可移植性 1.2.4 强大而灵活 1.2.5 面向程序员 1.2.6 缺点 1.3 C 语言的应用范围 1.4 计算机能做什么 1.5 高级计算机语言和编译器 1.6 语言标准 1.6.1 第 1 个 ANSI/ISO C 标准 …

手写模拟Spring底层原理-简易实现版

通过手写模拟Spring 了解Spring的底层源码启动过程了解BeanDefinition、BeanPostProcessor的概念了解Spring解析配置类等底层源码工作流程了解依赖注入&#xff0c;Aware回调等底层源码工作流程了解Spring AOP的底层源码工作流程 这里实现一个简化版的 Spring 框架的核心功能&a…

GraphRAG深入解析

GraphRAG深入解析 GraphRAG 深入解析概述索引查询 索引过程深入解析步骤 1&#xff1a;处理文本块步骤 2&#xff1a;图提取步骤 3&#xff1a;图增强步骤 4&#xff1a;社区总结步骤 5&#xff1a;文件处理步骤 6&#xff1a;网络可视化 查询过程深入解析本地搜索问题生成全局…

苹果安卓分发的秘密:如何选择正确的渠道(苹果安卓分发)

苹果安卓分发的重要性 随着移动互联网的普及&#xff0c;移动应用程序的开发和分发变得越来越重要。苹果安卓分发是移动应用程序开发者的首要任务之一&#xff0c;因为它直接关系到应用程序的推广和收益。 苹果安卓分发并不是一件简单的事情。开发者需要选择正确的渠道&#…