如何解决将图片上传到文件夹时,如何添加案例?
我想创建一个图片库,可以在其中将图片上传到文件夹,并在我的图片库中查看它们。目前,我正在使用switch语句更改图像,但是我对如何将上传的图像添加到图库一无所知(使用我的图像路径向switch语句添加新案例)
ImageChanger
private void ChangeImage(int num)
{
switch (num)
{
case 1:
Images.Image = Properties.Resources.wp;
imageTxt.Text = "Nice mountain";
break;
case 2:
Images.Image = Properties.Resources.wp1;
imageTxt.Text = "Nice mountain";
break;
case 3:
Images.Image = Properties.Resources.wp2;
imageTxt.Text = "Nice";
break;
case 4:
Images.Image = Properties.Resources.wp3;
imageTxt.Text = "Cool";
break;
case 5:
Images.Image = Properties.Resources.wp4;
imageTxt.Text = "Damn";
break;
case 6:
Images.Image = Properties.Resources.wp5;
imageTxt.Text = "Okay okay";
break;
case 7:
Images.Image = Image.FromFile(@"C:\Users\....\Resources\tree.jpg");
imageTxt.Text = "Okay okay";
break;
}
}
保存N个上传图像
private void ImageUpload_Click(object sender,EventArgs e)
{
OpenFileDialog open = new OpenFileDialog();
open.Filter = "Image Files(*.jpg; *.jpeg; *.gif; *.png;)| *.jpg; *.jpeg; *.gif; *.png;";
if (open.ShowDialog() == DialogResult.OK)
{
ImgDirectory.Text = open.FileName;
picPreview.Image = new Bitmap(open.FileName);
}
}
private void Save_Click(object sender,EventArgs e)
{
File.Copy(ImgDirectory.Text,Path.Combine(@"C:\Users\....\Resources\",Path.GetFileName(ImgDirectory.Text)));
Update();
}
解决方法
您最好使用另一种方法。就像使用收藏集
public class UploadedImage
{
public UploadImage(string inputPath,string inputName){
imagePath = inputPath;
imageName = inputName
}
string imagePath { get; set; }
string imageName { get; set; }
}
声明
public List<UploadedImage> yourImages ;
将可用图像分配给您的图像
yourImages = new List<UploadedImage>();
yourImages.Add(new UploadImage("wp","Nice mountain"));
yourImages.Add(new UploadImage("wp1","Nice mountain"));
/* ... */
在您的上传功能中,将最近上传的图像添加到您的图像
中yourImages.Add(new UploadImage(Path.Combine(@"C:\Users\....\Resources\",Path.GetFileName(ImgDirectory.Text)),ImageName);
,
我的解决方案
嘿,我知道了!
我刚刚用图像创建了一个数组。
像这样:string[] images = Directory.GetFiles(@"C:\Users\....\Resources");
并添加了一个计数器:private int counter = 0;
在我的“下一张图片和上一张图片按钮”上,我确实是这样的:
private void Next_Click(object sender,EventArgs e)
{
counter++;
if (images.Length == 0) return;
if (counter > imgAmount + -1) counter = 0;
var image = Image.FromFile(images[counter]);
Images.Image = image;
CurrentImg.Text = counter+1 + "/" + imgAmount.ToString();
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。