当我将图片上传到文件夹时,如何添加案例?
How can I add a case, when I uploads a picture to a folder?
我想制作一个图片库,我可以在其中将图片上传到文件夹,并在我的图片库中查看它们。目前我正在使用 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();
}
你最好用别的方法。比如使用 Collections
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
yourImages = new List<UploadedImage>();
yourImages.Add(new UploadImage("wp", "Nice mountain"));
yourImages.Add(new UploadImage("wp1", "Nice mountain"));
/* ... */
在您的 Upload 函数中,将最近上传的图片添加到 yourImages
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();
}
我想制作一个图片库,我可以在其中将图片上传到文件夹,并在我的图片库中查看它们。目前我正在使用 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();
}
你最好用别的方法。比如使用 Collections
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
yourImages = new List<UploadedImage>();
yourImages.Add(new UploadImage("wp", "Nice mountain"));
yourImages.Add(new UploadImage("wp1", "Nice mountain"));
/* ... */
在您的 Upload 函数中,将最近上传的图片添加到 yourImages
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();
}