C# 调用资源文件(*.resources)中的图片 180
有不同类别的图片若干,如汽车,自然,人物..应用程序可以在ListView中分类浏览图片,如点击了人物按钮ListView中就只出现人物类图片想用资源文件来调用,生成资源...
有不同类别的图片若干,如汽车,自然,人物..应用程序可以在ListView中分类浏览图片,如点击了人物按钮ListView中就只出现人物类图片
想用资源文件来调用,生成资源文件时思路:
不同类别的图片放入不同文件夹内,做好分类,然后取得某类文件夹内所有图片路径,生成image对象,加入到一个image数组中.然后将此数组加入到资源文件中.
Image[] images = new Image[];
for(i-n)
{
Image img = Image.FromFile(imagesPath);
images[i] = img;
}
rw.AddResource("汽车",images);//rw为ResourceWriter
调用:
ResourceManager rm = new ResourceManager("命名空间.资源名", Assembly.GetExecutingAssembly());
ImageList imalst = new ImageList();
//从资源文件中获得数据
Image[] images = ((Image[])(rm.GetObject("汽车")));
imalst.Images.AddRange(images);
for (int i = 0; i < imalst.Images.Count; i++)
{
listView1.Items.Add(imalst.Images.Keys[i], i);
}
程序能够正常运行,点击某类后图片不能正常显示,出现空白区域。下断点后发现从资源文件中获取数据的images数组也是有值的.
网上看到说是注释程序入口中Application.EnableVisualStyles();就能正常显示,但还是不行。不得其解
大量需要分类显示的图片,一张张放入资源文件中貌似不能满足要求.分不多了,向各位求教!
那用资源文件存数组可以吗?如Image[] 展开
想用资源文件来调用,生成资源文件时思路:
不同类别的图片放入不同文件夹内,做好分类,然后取得某类文件夹内所有图片路径,生成image对象,加入到一个image数组中.然后将此数组加入到资源文件中.
Image[] images = new Image[];
for(i-n)
{
Image img = Image.FromFile(imagesPath);
images[i] = img;
}
rw.AddResource("汽车",images);//rw为ResourceWriter
调用:
ResourceManager rm = new ResourceManager("命名空间.资源名", Assembly.GetExecutingAssembly());
ImageList imalst = new ImageList();
//从资源文件中获得数据
Image[] images = ((Image[])(rm.GetObject("汽车")));
imalst.Images.AddRange(images);
for (int i = 0; i < imalst.Images.Count; i++)
{
listView1.Items.Add(imalst.Images.Keys[i], i);
}
程序能够正常运行,点击某类后图片不能正常显示,出现空白区域。下断点后发现从资源文件中获取数据的images数组也是有值的.
网上看到说是注释程序入口中Application.EnableVisualStyles();就能正常显示,但还是不行。不得其解
大量需要分类显示的图片,一张张放入资源文件中貌似不能满足要求.分不多了,向各位求教!
那用资源文件存数组可以吗?如Image[] 展开
5个回答
展开全部
感觉你的问题,不一定是出在 资源文件上,而是出在 listview 和 imagelist上,listview和imagelist对所显示的图片大小应该是有限制的。
你可以用一个picturebox来测试一下,看问题是否出在资源文件上,代码如下:
ResourceManager rm = new ResourceManager("命名空间.资源名", Assembly.GetExecutingAssembly());
ImageList imalst = new ImageList();
//从资源文件中获得数据
Image[] images = ((Image[])(rm.GetObject("汽车")));
pictureBox1.Image = images[0]; //显示一副图,看是否正常
你可以用一个picturebox来测试一下,看问题是否出在资源文件上,代码如下:
ResourceManager rm = new ResourceManager("命名空间.资源名", Assembly.GetExecutingAssembly());
ImageList imalst = new ImageList();
//从资源文件中获得数据
Image[] images = ((Image[])(rm.GetObject("汽车")));
pictureBox1.Image = images[0]; //显示一副图,看是否正常
展开全部
你可以先设置窗体的背景图片! 并且图片是用导入资源方式导入的
然后复制 窗体的image 的属性 例如:Book.Properties.Resources.mypic
Book.Properties.Resources.mypic
是bmp 格式的
如果想调用它 可以直接调用 例如 设置label1.Image= Book.Properties.Resources.mypic
即可以调用!!!
然后复制 窗体的image 的属性 例如:Book.Properties.Resources.mypic
Book.Properties.Resources.mypic
是bmp 格式的
如果想调用它 可以直接调用 例如 设置label1.Image= Book.Properties.Resources.mypic
即可以调用!!!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
imalst.Images.Keys[i]能取到Image?
用imalst.Images[i]试试
用imalst.Images[i]试试
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
30:439
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
路径
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询