正在从C#窗体应用程序中的资源文件夹检索图像

本文关键字:资源 文件夹 检索 图像 应用程序 窗体 | 更新日期: 2023-09-27 18:26:55

我正在C#窗口应用程序中开发项目。我是这项技术的新手。我在一个类中声明了Image变量,在另一个类声明了list。我想从资源文件夹中检索图像,并将其存储在列表中十次。我写了这样的代码,但它返回null。

class clsAddImage
    {
       public Image m_imgSampleImage;
    }
class clsList
    {
        public List<clsAddImage> lstImage = new List<clsAddImage>();   
    }
class clsAddImageToList
    {
        public void AddImgMethod()
        {
            clsList objlist = new clsList();
            int i;
            for (i = 0; i < 10; i++)
            {
                clsAddImage objaddimg = new clsAddImage();
                objlist.lstImage.Add(objaddimg);
            }
            foreach (clsAddImage addimg in objlist.lstImage)
            {
                string path = "C:''Users''c09684''Documents''Visual Studio         2010''Projects''WindowsFormsAddImage''WindowsFormsAddImage''Resources''Chrysanthemum.jpg";
                addimg.m_imgSampleImage = Image.FromFile(path);
            }
            }
    }
 public Form1()
    {
        InitializeComponent();
        clsAddImageToList a = new clsAddImageToList();
          a.AddImgMethod();
    }

正在从C#窗体应用程序中的资源文件夹检索图像

我假设你指的是Windows8应用程序?在这种情况下,您可以而不是简单地编程一个目录来检索信息。用户必须手动选择一个目录,您可以存储该目录以备将来使用。但是,您可以访问KnownFolders(对于大多数情况,您必须检查Package.appxmanifest中的功能,例如图片库),请参阅http://msdn.microsoft.com/en-us/library/windows/apps/windows.storage.knownfolders选项。

通过以下任务,您将能够从目录中检索文件,我希望这能帮助您解决问题:

public async Task GetFilesFromDisk()
{
    StorageFolder picturesFolder = KnownFolders.PicturesLibrary;
    StringBuilder outputText = new StringBuilder();             
    IReadOnlyList<StorageFile> fileList = await picturesFolder.GetFilesAsync(); 
    var images = new List<BitmapImage>();
    if (fileList != null)
    {
        foreach (StorageFile file in fileList)
        {
            string cExt = file.FileType;
            if (cExt.ToUpper() == ".JPG") 
            {
                Windows.Storage.Streams.IRandomAccessStream fileStream = await file.OpenAsync(Windows.Storage.FileAccessMode.Read);
                using (Windows.Storage.Streams.IRandomAccessStream filestream = await file.OpenAsync(Windows.Storage.FileAccessMode.Read))
                {
                    BitmapImage bitmapImage = new BitmapImage();
                    await bitmapImage.SetSourceAsync(fileStream);
                }
            }
        }   // ForEach
    }
}