将父级分配给存储在Image Array中的图像

时间:2014-01-10 18:00:44

标签: c# image transparency parent

我将图像存储在一个数组中,我将在图像框中相互叠加显示(使用透明度),但如何设置每个图像的父图像(以启用透明度)?

是否符合

的要求
images[1].parent = images[0];

请注意,上面的代码无法解决问题。

1 个答案:

答案 0 :(得分:0)

将图像包含在具有所需属性的类中(位图已密封,因此您不能仅从其继承):

public class MyImageWrapper 
{
    public MyImageWrapper Parent { get; set; }
    public Image Image { get; set; }

    public MyImageWrapper(Image i, MyImageWrapper parent = null)
    {
        Parent = parent;
        Image = i;
    }
}

现在您可以将Image的数组更改为数组MyImageWrapper,您可以执行以下操作:

Images[1].Parent = Images[0]

当然,在尝试将其分配给需要Image的控件之前,您需要记住访问包装的图像,例如:

pictureBox1.Image = Images[0].Image;

最初加载你的图片,你会:

images[0] = new ImageWrapper(Image.FromFile("MyImage.png"));