【发布时间】:2020-06-29 15:59:39
【问题描述】:
我是编程新手,到目前为止我所做的一切都是为了满足我的需求进行研究和实施......
目前我正在创建这样的数据表:
private void GridOfBitmaps()
{
Bitmap OriginBitmap = new Bitmap(pictureBox1.Image);
DataTable LightnessTable = new DataTable("Lightness");
for (int x = 0; x < pictureBox1.Width-20; x+= 20)
{
LightnessTable.Columns.Add("C" + x, typeof(string));
for (int y = 0; y < pictureBox1.Height-20; y += 20)
{
RectangleF smallRect = new RectangleF(x, y, 20, 20);
System.Drawing.Imaging.PixelFormat format =
OriginBitmap.PixelFormat;
Bitmap cloneBitmap = OriginBitmap.Clone(smallRect, format);
string avgLightness = Convert.ToString(CalculateAverageLightness(cloneBitmap));
int index = avgLightness.IndexOf(",");
if (index > 0)
avgLightness = avgLightness.Substring(0, index);
if (x <= 0)
{
DataRow row = LightnessTable.NewRow();
row["C" + x] = avgLightness;
LightnessTable.Rows.Add(row);
}
else
{
LightnessTable.Rows[y / 20]["C" + x] = avgLightness;
}
}
}
这个函数被签名到按钮,所以每次点击我都会得到新的数据表。
DataTable 行包含 0 到 255(字符串)范围内的值,我希望能够比较以这种方式创建的 2 个数据表(逐个单元格以确定值是否更高)。
编辑#: 问题:如何在程序运行期间存储这些数据表,以便以后进行比较?
我无法使用数据库。谢谢!
【问题讨论】:
-
stackoverflow.com/questions/9022118/… 您需要访问每个单元格并进行比较。
-
我想我问错了...我会编辑问题
-
如果你放两个样本数据表数据并描述你想要的输出会更好。
-
谢谢 Luis,我刚刚更新了。它是关于存储数据表以备后用。我不知道没有数据库怎么办
-
你想传递你的
LightnessTable吗?有什么阻止您将void GridOfBitmaps()更改为DataTable GridOfBitmaps()?调用函数后,您可能会获得此数据表。例如DataTable first = GridOfBitmaps().