使用图形在窗体上绘制图像.DrawImage()

本文关键字:图像 DrawImage 绘制 图形 窗体 | 更新日期: 2023-09-27 17:59:14

我正试图在所有其他控件前面的窗体上绘制一个图像。我试着在控件前面制作一个透明的面板,但它只显示背景,控件没有显示。我的代码是:(我用它来产生衰落效果)

Player1ColorMatrix.Matrix33 = Player1Transparency;
Player1ImageAttributes.SetColorMatrix(Player1ColorMatrix,
                    ColorMatrixFlag.Default,
                    ColorAdjustType.Bitmap);
    e.Graphics.DrawImage(Player1ScoreImage, Player1rect, 0, 0, 200, 62, GraphicsUnit.Pixel, Player1ImageAttributes);
    Player1Transparency = 0.0f;

player1scoreimage是图像,player1ect是我想在其中绘制图像的矩形

如何使此图像位于其他控件的前面?

谢谢,ofir

使用图形在窗体上绘制图像.DrawImage()

尝试使用自定义面板:

private class PanelX : Panel
{
  protected override CreateParams CreateParams
  {
    get
    {
      CreateParams cp = base.CreateParams;
      cp.ExStyle |= 0x20;
      return cp;
    }
  }
  protected override void OnPaint(PaintEventArgs e)
  {
    using (SolidBrush brush = new SolidBrush(Color.FromArgb(128, 0, 0, 0)))
    {
      e.Graphics.FillRectangle(brush, this.ClientRectangle);
    }
  }
}