簡體   English   中英

從 C# windows 窗體應用程序中的資源文件夾中檢索圖像

[英]Retrieving Images from Resource folder in C# windows form application

我正在 C# windows 應用程序中開發項目。 我是這項技術的新手。 我在一個類中聲明了 Image 變量並在另一個類中列出。 我想從 Resource 文件夾中檢索圖像並將其存儲在列表中十次。 我寫了這樣的代碼,但它返回空值。

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();
    }

我假設您指的是 Windows8 應用程序? 在這種情況下,您不能簡單地編寫一個目錄來檢索信息。 用戶必須手動選擇一個目錄,您可以存儲該目錄以備將來使用。 但是,您可以訪問已知文件夾(對於大多數情況,您必須檢查 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
    }

}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM