简单的图片幻灯片






2.84/5 (17投票s)
一个为初学者准备的简单图像幻灯片播放器。
引言
这是一个简单的 C# 应用程序,可以打开和查看图像,并以幻灯片的形式逐个显示图像。本文的目的是让初学者了解如何使用计时器在 C# 中创建图像幻灯片播放器。
使用代码
为了制作这个应用程序,我使用了Button
(用于“下一张”、“上一张”、“打开”和“幻灯片播放”),一个PictureBox
,以及一个面板(用于包含PictureBox
)。PictureBox
的“SizeMode
”设置为“StretchImage
”。
首先,声明这四个变量
private string [] folderFile = null;
private int selected = 0;
private int begin = 0;
private int end = 0;
第一个变量是一个字符串数组,用于保存文件夹中文件路径。其余变量用于“标记”数组的开头、结尾以及数组的选定索引。
private void button2_Click(object sender, System.EventArgs e)
{
if(folderBrowserDialog1.ShowDialog() == DialogResult.OK)
{
string [] part1=null, part2=null, part3=null;
part1 = Directory.GetFiles(folderBrowserDialog1.SelectedPath,"*.jpg");
part2 = Directory.GetFiles(folderBrowserDialog1.SelectedPath,"*.jpeg");
part3 = Directory.GetFiles(folderBrowserDialog1.SelectedPath,"*.bmp");
folderFile = new string[part1.Length + part2.Length + part3.Length];
Array.Copy(part1,0,folderFile,0,part1.Length);
Array.Copy(part2,0,folderFile,part1.Length,part2.Length);
Array.Copy(part3,0,folderFile,part1.Length + part2.Length,part3.Length);
selected = 0;
begin = 0;
end = folderFile.Length;
showImage(folderFile[selected]);
button1.Enabled = true;
button3.Enabled = true;
button4.Enab led = true;
}
}
如果FolderBrowserDialog
的结果是“确定”,那么获取文件夹中的所有 JPG、JPEG 和 BMP 文件,并将它们复制到fileFolder
数组中。然后,通过调用showImage()
来显示图像。
private void showImage(string path)
{
Image imgtemp = Image.FromFile(path);
pictureBox1.Width = imgtemp.Width / 2;
pictureBox1.Height = imgtemp.Height / 2;
pictureBox1.Image = imgtemp;
}
PictureBox
的宽度和高度除以 2,以显示原始尺寸一半的图像。
private void prevImage()
{
if(selected == 0)
{
selected = folderFile.Length - 1;
showImage(folderFile[selected]);
}
else
{
selected = selected - 1; showImage(folderFile[selected]);
}
}
private void nextImage()
{
if(selected == folderFile.Length - 1)
{
selected = 0;
showImage(folderFile[selected]);
}
else
{
selected = selected + 1; showImage(folderFile[selected]);
}
}
要显示下一张和上一张图像,只需将选定的数组标记移动到下一个索引或上一个索引即可。
private void timer1_Tick(object sender, System.EventArgs e)
{
nextImage();
}
private void button4_Click(object sender, System.EventArgs e)
{
if(timer1.Enabled == true)
{
timer1.Enabled = false;
button4.Text = "<< START Slide Show >>";
}
else
{
timer1.Enabled = true;
button4.Text = "<< STOP Slide Show >>";
}
}
对于幻灯片播放功能,在timer1_tick
中调用nextImage()
,然后只需将Enabled
设置为true
或false
即可。
结论
打开、显示和幻灯片播放图像非常简单。我们只需要使用FolderBrowserDialog
和Timer
以及 C# 2.0。
我希望这篇文章对大家有所帮助!欢迎提出任何意见!