C#winform 怎么从本地读取多个图片,从本地读取图片存到LIst中。
Image image = new Image();
BitmapImage source = new BitmapImage();
第一个显示无法创建实例
建议先存地址,然后当需要读取时,再按二进制读入,文件较多的话,可开多个线程(限制数量)
若要想用控件的形式来用,可以自己设计一个控件,在上面放一个Picture,两个Button,当然若想实现选择图片文件夹话还要加一个选择的button,另外,还要把图片的位置保存到一个变量中,如哈希表,list等 ,通过变量中的路径来实现图片的访问.
只能看上去是翻页的效果,实际上还是一次次的读取
关键代码,希望有帮助:
string directory = @"d:\imageDown";//这换成你自己的目录
List<Image> ImageHandleList = new List<Image>();
foreach (string myFile in
Directory.GetFiles(directory, "*.png", SearchOption.AllDirectories))
{
Image image = new Image();
BitmapImage source = new BitmapImage();
source.BeginInit();
source.UriSource = new Uri(myFile, UriKind.Relative);
source.EndInit();
image.Source = source;
ImageHandleList.Add(image);
}
对.net4.0及后续版本,用:
var files = Directory.EnumerateFiles("C:\\path", "*.*", SearchOption.AllDirectories).Where(s => s.EndsWith(".mp3") || s.EndsWith(".jpg"));
.net4.0之前版本,用:
var files = Directory.GetFiles("C:\\path", "*.*", SearchOption.AllDirectories) .Where(s => s.EndsWith(".mp3") || s.EndsWith(".jpg"));
你可以用这里得到的files替换我之前发的例子中foreach对应部分
foreach (string myFile in files)