正在从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();
}
我假设你指的是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
}
}