【发布时间】:2017-11-07 20:00:29
【问题描述】:
我有一个 52 大小的位图数组,每个单元格都包含来自资源的随机图像。我想弄清楚所选图像的名称是什么,当我尝试调试程序时,“cards[i]”等于:“{System.Drawing.Bitmap}”。
如何找到cards[i]对应的图片名称?
private Bitmap[] GetResourceImages()
{
PropertyInfo[] props = typeof(Properties.Resources).GetProperties(BindingFlags.NonPublic | BindingFlags.Static);
var images = props.Where(prop => prop.PropertyType == typeof(Bitmap)).Select(prop => prop.GetValue(null, null) as Bitmap).ToArray();
return images;
}
Bitmap[] cards = GetResourceImages();
int maxValue = cards.Length;
Random rand = new Random();
int idx = rand.Next(maxValue);
currentPic.Image = cards[idx];
【问题讨论】:
-
这和C编程语言有什么关系?
-
在您选择时保存这些信息。
-
好吧,您检索的不是字符串,而是位图。你正在寻找 PropertyType = Bitmap... 所以你真的想返回一个带有路径值的分类数组,或者一个字典。我会检查每个属性,找到答案,然后用它做点什么……阅读你的代码,理解它。提示:Bitmap[] 不是您想要的答案。
-
位图不包含有关其来源的信息。
标签: c# forms user-interface bitmap resources