C# 如何确定图形对象与给定位图对象相关?

C# 如何确定图形对象与给定位图对象相关?,c#,graphics,bitmap,drawing,C#,Graphics,Bitmap,Drawing,我有一组位图和一组图形。最初,每个位图对象在这些数组中都有相应的图形对象。但在工作期间,数组中的位图可能会被新实例替换或更改其在数组中的位置。 所以我需要一种方法来找到与给定位图对象对应的适当图形对象(或者确保图形数组中没有对应的图形对象) 请查看C#中的示例代码: 如果图形是在中心位置创建的,则可以使用字典(dictionary)维护查找表 或者,也可以使用位图的标记属性来存储对图形对象的引用 Bitmap b1 = new Bitmap(100,100); Bitmap b2

我有一组位图和一组图形。最初,每个位图对象在这些数组中都有相应的图形对象。但在工作期间,数组中的位图可能会被新实例替换或更改其在数组中的位置。 所以我需要一种方法来找到与给定位图对象对应的适当图形对象(或者确保图形数组中没有对应的图形对象)

请查看C#中的示例代码:


如果图形是在中心位置创建的,则可以使用字典(
dictionary
)维护查找表

或者,也可以使用位图的
标记
属性来存储对图形对象的引用

   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;

在任何情况下,一旦不再需要图形对象,请确保正确处理它们。

否,图形和位图是在不同的类中创建的。标签属性是一个很好的变体。我觉得既然位图有标记属性,你可能不应该让图形对象挂在周围。只在需要时调用
Graphics.FromImage(…)
图形对象。图形对象创建成本低,保存成本高。
   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;