这是我的Picture.cs类:
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.IO;
- using System.Drawing;
- namespace SharpLibrary_MediaManager
- {
- public class Picture:BaseFile
- {
- public int Height { get; set; }
- public int Width { get; set; }
- public Image Thumbnail { get; set; }
- /// <summary>
- /// Sets file information of an image from a given image in the file path.
- /// </summary>
- /// <param name="filePath">File path of the image.</param>
- public override void getFileInformation(string filePath)
- {
- FileInfo fileInformation = new FileInfo(filePath);
- if (fileInformation.Exists)
- {
- Name = fileInformation.Name;
- FileType = fileInformation.Extension;
- Size = fileInformation.Length;
- CreationDate = fileInformation.CreationTime;
- ModificationDate = fileInformation.LastWriteTime;
- Height = calculatePictureHeight(filePath);
- Width = calculatePictureWidth(filePath);
- }
- }
- public override void getThumbnail(string filePath)
- {
- Image image = Image.FromFile(filePath);
- Thumbnail = image.GetThumbnailImage(40,40,null,new IntPtr());
- }
- private int calculatePictureHeight(string filePath)
- {
- var image = Image.FromFile(filePath);
- return image.Height;
- }
- private int calculatePictureWidth(string filePath)
- {
- var image = Image.FromFile(filePath);
- return image.Width;
- }
- }
- }
- using System;
- using System.Collections.Generic;
- using System.ComponentModel;
- using System.Data;
- using System.Drawing;
- using System.Linq;
- using System.Text;
- using System.Windows.Forms;
- using System.IO;
- namespace SharpLibrary_MediaManager
- {
- public partial class Form1 : Form
- {
- public Form1()
- {
- InitializeComponent();
- }
- string folderPath = @"D:\Images\PictureFolder";
- private void button1_Click(object sender,EventArgs e)
- {
- DirectoryInfo folder = new DirectoryInfo(folderPath);
- List<Picture> lol = new List<Picture>();
- foreach (FileInfo x in folder.GetFiles())
- {
- Picture picture = new Picture();
- picture.getFileInformation(x.FullName);
- lol.Add(picture);
- }
- MessageBox.Show(lol[0].Name);
- }
- }
- }
我得到了Out Of Memory异常,我真的不知道为什么.这是我第一次做这样的事情所以我对批处理文件处理等很陌生.
有帮助吗?