![](/img/trans.png)
[英]C# windows application, image file from resource folder gets removed, getting error
[英]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.