我有一个Bitmaps数组和一个Graphics数组。最初,每个Bitmap对象在这些数组中都有相应的Graphics对象。但在工作期间,数组中的位图可能会被新实例替换或更改其在数组中的位置。 所以我需要一种方法来找到对应于给定Bitmap对象的正确Graphics对象(或者确保图形数组中没有对应的Graphics对象)。
请在C#中查看此示例代码:
void Main()
{
// make some bitmaps
Bitmap b1 = new Bitmap(100,100);
Bitmap b2 = new Bitmap(100,100);
// make graphics of our bitmaps
Graphics g1 = Graphics.FromImage(b1);
Graphics g2 = Graphics.FromImage(b2);
bool result = Test(b1, g2);
}
bool Test(Bitmap b, Graphics g)
{
// how can I check that given "g" is really created from given "b"?
// ???
}
答案 0 :(得分:0)
如果在中心位置创建图形,则可以使用字典Dictionary<Bitmap, Graphics>
维护查找表。
或者,您也可以使用Bitmap的Tag
属性来存储对Graphics对象的引用。
Bitmap b1 = new Bitmap(100,100);
Bitmap b2 = new Bitmap(100,100);
// make graphics of our bitmaps
Graphics g1 = Graphics.FromImage(b1);
Graphics g2 = Graphics.FromImage(b2);
// Track the graphics object for each bitmaps
// NOTE: be sure to dispose the Graphics when you're done with the Bitmap.
b1.Tag = g1;
b2.Tag = g2;
在任何情况下,请确保在不再需要图形对象时正确处理它们。