c# – 在这个相对简单的程序中获得“内存不足”异常
发布时间:2020-12-15 18:29:01 所属栏目:百科 来源:网络整理
导读:这是我的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
这是我的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:ImagesPictureFolder"; 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异常,我真的不知道为什么.这是我第一次做这样的事情所以我对批处理文件处理等很陌生. 有帮助吗? (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |