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